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

Changeset 242855 in webkit


Ignore:
Timestamp:
Mar 13, 2019, 1:24:31 AM (7 years ago)
Author:
bshafiei@apple.com
Message:

Cherry-pick r242276. rdar://problem/48839389

DFG: Loop-invariant code motion (LICM) should not hoist dead code
https://bugs.webkit.org/show_bug.cgi?id=194945
<rdar://problem/48311657>

Reviewed by Saam Barati.

  • dfg/DFGLICMPhase.cpp: (JSC::DFG::LICMPhase::run):

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

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

Legend:

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

    r242854 r242855  
    112019-03-13  Babak Shafiei  <bshafiei@apple.com>
    22
    3         Cherry-pick r242114. rdar://problem/48839372
    4 
    5     wasmToJS() should purify incoming NaNs.
    6     https://bugs.webkit.org/show_bug.cgi?id=194807
    7     <rdar://problem/48189132>
     3        Cherry-pick r242276. rdar://problem/48839389
     4
     5    DFG: Loop-invariant code motion (LICM) should not hoist dead code
     6    https://bugs.webkit.org/show_bug.cgi?id=194945
     7    <rdar://problem/48311657>
    88   
    99    Reviewed by Saam Barati.
    1010   
    11     JSTests:
    12    
    13     * wasm/regress/wasmToJS-should-purify-NaNs.js: Added.
    14    
    15     Source/JavaScriptCore:
    16    
    17     * runtime/JSCJSValue.h:
    18     (JSC::jsNumber):
    19     * runtime/TypedArrayAdaptors.h:
    20     (JSC::IntegralTypedArrayAdaptor::toJSValue):
    21     * wasm/js/WasmToJS.cpp:
    22     (JSC::Wasm::wasmToJS):
    23    
    24    
    25    
    26     git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    27 
    28     2019-02-26  Mark Lam  <mark.lam@apple.com>
    29 
    30             wasmToJS() should purify incoming NaNs.
    31             https://bugs.webkit.org/show_bug.cgi?id=194807
    32             <rdar://problem/48189132>
    33 
    34             Reviewed by Saam Barati.
    35 
    36             * wasm/regress/wasmToJS-should-purify-NaNs.js: Added.
     11    * dfg/DFGLICMPhase.cpp:
     12    (JSC::DFG::LICMPhase::run):
     13   
     14   
     15   
     16    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     17
     18    2019-03-13  Babak Shafiei  <bshafiei@apple.com>
     19
     20            Cherry-pick r242114. rdar://problem/48839372
     21
     22        wasmToJS() should purify incoming NaNs.
     23        https://bugs.webkit.org/show_bug.cgi?id=194807
     24        <rdar://problem/48189132>
     25
     26        Reviewed by Saam Barati.
     27
     28        JSTests:
     29
     30        * wasm/regress/wasmToJS-should-purify-NaNs.js: Added.
     31
     32        Source/JavaScriptCore:
     33
     34        * runtime/JSCJSValue.h:
     35        (JSC::jsNumber):
     36        * runtime/TypedArrayAdaptors.h:
     37        (JSC::IntegralTypedArrayAdaptor::toJSValue):
     38        * wasm/js/WasmToJS.cpp:
     39        (JSC::Wasm::wasmToJS):
     40
     41
     42
     43        git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     44
     45        2019-02-26  Mark Lam  <mark.lam@apple.com>
     46
     47                wasmToJS() should purify incoming NaNs.
     48                https://bugs.webkit.org/show_bug.cgi?id=194807
     49                <rdar://problem/48189132>
     50
     51                Reviewed by Saam Barati.
     52
     53                * wasm/regress/wasmToJS-should-purify-NaNs.js: Added.
    3754
    38552019-03-13  Babak Shafiei  <bshafiei@apple.com>
     
    5774    Ditto for TypeSet::toJSONString() and TypeSet::toJSONString().
    5875   
     762019-02-27  Robin Morisset  <rmorisset@apple.com>
     77
     78        DFG: Loop-invariant code motion (LICM) should not hoist dead code
     79        https://bugs.webkit.org/show_bug.cgi?id=194945
     80        <rdar://problem/48311657>
     81
     82        Reviewed by Mark Lam.
     83
     84        * stress/licm-dead-code.js: Added.
     85
    5986    * runtime/SamplingProfiler.cpp:
    6087    (JSC::SamplingProfiler::stackTracesAsJSON):
  • branches/safari-607-branch/Source/JavaScriptCore/ChangeLog

    r242854 r242855  
    112019-03-13  Babak Shafiei  <bshafiei@apple.com>
    22
    3         Cherry-pick r242114. rdar://problem/48839372
    4 
    5     wasmToJS() should purify incoming NaNs.
    6     https://bugs.webkit.org/show_bug.cgi?id=194807
    7     <rdar://problem/48189132>
     3        Cherry-pick r242276. rdar://problem/48839389
     4
     5    DFG: Loop-invariant code motion (LICM) should not hoist dead code
     6    https://bugs.webkit.org/show_bug.cgi?id=194945
     7    <rdar://problem/48311657>
    88   
    99    Reviewed by Saam Barati.
    1010   
    11     JSTests:
    12    
    13     * wasm/regress/wasmToJS-should-purify-NaNs.js: Added.
    14    
    15     Source/JavaScriptCore:
    16    
    17     * runtime/JSCJSValue.h:
    18     (JSC::jsNumber):
    19     * runtime/TypedArrayAdaptors.h:
    20     (JSC::IntegralTypedArrayAdaptor::toJSValue):
    21     * wasm/js/WasmToJS.cpp:
    22     (JSC::Wasm::wasmToJS):
    23    
    24    
    25    
    26     git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    27 
    28     2019-02-26  Mark Lam  <mark.lam@apple.com>
    29 
    30             wasmToJS() should purify incoming NaNs.
    31             https://bugs.webkit.org/show_bug.cgi?id=194807
    32             <rdar://problem/48189132>
    33 
    34             Reviewed by Saam Barati.
    35 
    36             * runtime/JSCJSValue.h:
    37             (JSC::jsNumber):
    38             * runtime/TypedArrayAdaptors.h:
    39             (JSC::IntegralTypedArrayAdaptor::toJSValue):
    40             * wasm/js/WasmToJS.cpp:
    41             (JSC::Wasm::wasmToJS):
     11    * dfg/DFGLICMPhase.cpp:
     12    (JSC::DFG::LICMPhase::run):
     13   
     14   
     15   
     16    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     17
     18    2019-03-13  Babak Shafiei  <bshafiei@apple.com>
     19
     20            Cherry-pick r242114. rdar://problem/48839372
     21
     22        wasmToJS() should purify incoming NaNs.
     23        https://bugs.webkit.org/show_bug.cgi?id=194807
     24        <rdar://problem/48189132>
     25
     26        Reviewed by Saam Barati.
     27
     28        JSTests:
     29
     30        * wasm/regress/wasmToJS-should-purify-NaNs.js: Added.
     31
     32        Source/JavaScriptCore:
     33
     34        * runtime/JSCJSValue.h:
     35        (JSC::jsNumber):
     36        * runtime/TypedArrayAdaptors.h:
     37        (JSC::IntegralTypedArrayAdaptor::toJSValue):
     38        * wasm/js/WasmToJS.cpp:
     39        (JSC::Wasm::wasmToJS):
     40
     41
     42
     43        git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     44
     45        2019-02-26  Mark Lam  <mark.lam@apple.com>
     46
     47                wasmToJS() should purify incoming NaNs.
     48                https://bugs.webkit.org/show_bug.cgi?id=194807
     49                <rdar://problem/48189132>
     50
     51                Reviewed by Saam Barati.
     52
     53                * runtime/JSCJSValue.h:
     54                (JSC::jsNumber):
     55                * runtime/TypedArrayAdaptors.h:
     56                (JSC::IntegralTypedArrayAdaptor::toJSValue):
     57                * wasm/js/WasmToJS.cpp:
     58                (JSC::Wasm::wasmToJS):
    4259
    43602019-03-13  Babak Shafiei  <bshafiei@apple.com>
     
    415432            https://bugs.webkit.org/show_bug.cgi?id=194334
    416433            <rdar://problem/47844327>
     434
     4352019-02-27  Robin Morisset  <rmorisset@apple.com>
     436
     437        DFG: Loop-invariant code motion (LICM) should not hoist dead code
     438        https://bugs.webkit.org/show_bug.cgi?id=194945
     439        <rdar://problem/48311657>
     440
     441        Reviewed by Saam Barati.
     442
     443        * dfg/DFGLICMPhase.cpp:
     444        (JSC::DFG::LICMPhase::run):
    417445
    418446            Reviewed by Mark Lam.
  • branches/safari-607-branch/Source/JavaScriptCore/dfg/DFGLICMPhase.cpp

    r232075 r242855  
    185185        bool changed = false;
    186186        for (BasicBlock* block : m_graph.blocksInPreOrder()) {
     187            if (!block->cfaHasVisited)
     188                continue;
     189
    187190            const NaturalLoop* loop = m_graph.m_ssaNaturalLoops->innerMostLoopOf(block);
    188191            if (!loop)
     
    211214            for (unsigned nodeIndex = 0; nodeIndex < block->size(); ++nodeIndex) {
    212215                Node*& nodeRef = block->at(nodeIndex);
     216                if (nodeRef->op() == ForceOSRExit)
     217                    break;
    213218                for (unsigned stackIndex = loopStack.size(); stackIndex--;)
    214219                    changed |= attemptHoist(block, nodeRef, loopStack[stackIndex]);
Note: See TracChangeset for help on using the changeset viewer.