Changeset 195898 in webkit


Ignore:
Timestamp:
Jan 30, 2016 10:09:44 AM (8 years ago)
Author:
Yusuke Suzuki
Message:

[B3] REGRESSION(r195882): Should break early after modConstant replaceWithNewValue succeeds
https://bugs.webkit.org/show_bug.cgi?id=153711

Reviewed by Filip Pizlo.

Should break after modConstant replaceWithNewValue succeeds. m_value is already replaced with Identity
if modConstant succeeds. So it does not have any children. m_value->child(1) breaks testb3.

  • b3/B3ReduceStrength.cpp:
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r195891 r195898  
     12016-01-30  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        [B3] REGRESSION(r195882): Should break early after modConstant replaceWithNewValue succeeds
     4        https://bugs.webkit.org/show_bug.cgi?id=153711
     5
     6        Reviewed by Filip Pizlo.
     7
     8        Should break after modConstant replaceWithNewValue succeeds. m_value is already replaced with Identity
     9        if modConstant succeeds. So it does not have any children. m_value->child(1) breaks testb3.
     10
     11        * b3/B3ReduceStrength.cpp:
     12
    1132016-01-30  Yusuke Suzuki  <utatane.tea@gmail.com>
    214
  • trunk/Source/JavaScriptCore/b3/B3ReduceStrength.cpp

    r195882 r195898  
    734734            // Into this: constant1 / constant2
    735735            // Note that this uses ChillMod semantics.
    736             replaceWithNewValue(m_value->child(0)->modConstant(m_proc, m_value->child(1)));
     736            if (replaceWithNewValue(m_value->child(0)->modConstant(m_proc, m_value->child(1))))
     737                break;
    737738
    738739            // Modulo by constant is more efficient if we turn it into Div, and then let Div get
Note: See TracChangeset for help on using the changeset viewer.