⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 287621 in webkit


Ignore:
Timestamp:
Jan 5, 2022, 10:20:44 AM (5 years ago)
Author:
Russell Epstein
Message:

Cherry-pick r285978. rdar://problem/87124911

[JSC] TypedArray GetArrayLength should not use Reuse
​https://bugs.webkit.org/show_bug.cgi?id=233299
rdar://85502079

Reviewed by Robin Morisset.

JSTests:

  • stress/get-array-length-reuse.js: Added. (foo):

Source/JavaScriptCore:

We should not perform OSR exit after assigning a value to a reused register, otherwise,
OSR exit cannot recover the proper value. Now TypedArray GetArrayLength can perform
OSR exit after loading a length, so we should not use reused register for length.

  • dfg/DFGSpeculativeJIT.cpp:

git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@285978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-612-branch
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-612-branch/JSTests/ChangeLog

    r286230 r287621  
     12022-01-05  Russell Epstein  <repstein@apple.com>
     2
     3        Cherry-pick r285978. rdar://problem/87124911
     4
     5    [JSC] TypedArray GetArrayLength should not use Reuse
     6    https://bugs.webkit.org/show_bug.cgi?id=233299
     7    rdar://85502079
     8   
     9    Reviewed by Robin Morisset.
     10   
     11    JSTests:
     12   
     13    * stress/get-array-length-reuse.js: Added.
     14    (foo):
     15   
     16    Source/JavaScriptCore:
     17   
     18    We should not perform OSR exit after assigning a value to a reused register, otherwise,
     19    OSR exit cannot recover the proper value. Now TypedArray GetArrayLength can perform
     20    OSR exit after loading a length, so we should not use reused register for length.
     21   
     22    * dfg/DFGSpeculativeJIT.cpp:
     23   
     24    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     25
     26    2021-11-17  Yusuke Suzuki  <ysuzuki@apple.com>
     27
     28            [JSC] TypedArray GetArrayLength should not use Reuse
     29            https://bugs.webkit.org/show_bug.cgi?id=233299
     30            rdar://85502079
     31
     32            Reviewed by Robin Morisset.
     33
     34            * stress/get-array-length-reuse.js: Added.
     35            (foo):
     36
    1372021-11-11  Alan Coon  <alancoon@apple.com>
    238
  • branches/safari-612-branch/Source/JavaScriptCore/ChangeLog

    r286230 r287621  
     12022-01-05  Russell Epstein  <repstein@apple.com>
     2
     3        Cherry-pick r285978. rdar://problem/87124911
     4
     5    [JSC] TypedArray GetArrayLength should not use Reuse
     6    https://bugs.webkit.org/show_bug.cgi?id=233299
     7    rdar://85502079
     8   
     9    Reviewed by Robin Morisset.
     10   
     11    JSTests:
     12   
     13    * stress/get-array-length-reuse.js: Added.
     14    (foo):
     15   
     16    Source/JavaScriptCore:
     17   
     18    We should not perform OSR exit after assigning a value to a reused register, otherwise,
     19    OSR exit cannot recover the proper value. Now TypedArray GetArrayLength can perform
     20    OSR exit after loading a length, so we should not use reused register for length.
     21   
     22    * dfg/DFGSpeculativeJIT.cpp:
     23   
     24    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     25
     26    2021-11-17  Yusuke Suzuki  <ysuzuki@apple.com>
     27
     28            [JSC] TypedArray GetArrayLength should not use Reuse
     29            https://bugs.webkit.org/show_bug.cgi?id=233299
     30            rdar://85502079
     31
     32            Reviewed by Robin Morisset.
     33
     34            We should not perform OSR exit after assigning a value to a reused register, otherwise,
     35            OSR exit cannot recover the proper value. Now TypedArray GetArrayLength can perform
     36            OSR exit after loading a length, so we should not use reused register for length.
     37
     38            * dfg/DFGSpeculativeJIT.cpp:
     39
    1402021-11-11  Alan Coon  <alancoon@apple.com>
    241
  • branches/safari-612-branch/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

    r285542 r287621  
    83598359        ASSERT(node->arrayMode().isSomeTypedArrayView());
    83608360        SpeculateCellOperand base(this, node->child1());
    8361         GPRTemporary result(this, Reuse, base);
     8361        GPRTemporary result(this);
    83628362        GPRReg baseGPR = base.gpr();
    83638363        GPRReg resultGPR = result.gpr();
Note: See TracChangeset for help on using the changeset viewer.