Changeset 204209 in webkit


Ignore:
Timestamp:
Aug 5, 2016 6:05:15 PM (8 years ago)
Author:
keith_miller@apple.com
Message:

32-bit JSC test failure: stress/instanceof-late-constant-folding.js
https://bugs.webkit.org/show_bug.cgi?id=160620

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r204207 r204209  
     12016-08-05  Keith Miller  <keith_miller@apple.com>
     2
     3        32-bit JSC test failure: stress/instanceof-late-constant-folding.js
     4        https://bugs.webkit.org/show_bug.cgi?id=160620
     5
     6        Reviewed by Filip Pizlo.
     7
     8        * dfg/DFGSpeculativeJIT32_64.cpp:
     9        (JSC::DFG::SpeculativeJIT::compile):
     10
    1112016-08-05  Benjamin Poulain  <bpoulain@apple.com>
    212
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp

    r204176 r204209  
    46284628        JSFunction* defaultHasInstanceFunction = jsCast<JSFunction*>(node->cellOperand()->value());
    46294629
    4630         MacroAssembler::Jump notDefaulthasInstanceValue;
    4631         MacroAssembler::Jump hasInstanceValueNotCell;
     4630        MacroAssembler::JumpList notDefaultHasInstanceValue;
    46324631        SpeculateCellOperand base(this, node->child1());
    46334632        JSValueOperand hasInstanceValue(this, node->child2());
     
    46424641        if (!hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction != hasInstanceValueNode->asCell()) {
    46434642            JSValueRegs hasInstanceValueRegs = hasInstanceValue.jsValueRegs();
    4644             hasInstanceValueNotCell = m_jit.branchIfNotCell(hasInstanceValueRegs);
    4645             notDefaulthasInstanceValue = m_jit.branchPtr(MacroAssembler::NotEqual, hasInstanceValueRegs.payloadGPR(), TrustedImmPtr(defaultHasInstanceFunction));
     4643            notDefaultHasInstanceValue.append(m_jit.branchIfNotCell(hasInstanceValueRegs));
     4644            notDefaultHasInstanceValue.append(m_jit.branchPtr(MacroAssembler::NotEqual, hasInstanceValueRegs.payloadGPR(), TrustedImmPtr(defaultHasInstanceFunction)));
    46464645        }
    46474646
     
    46504649        MacroAssembler::Jump done = m_jit.jump();
    46514650
    4652         if (!hasInstanceValueNode->isCellConstant()) {
    4653             hasInstanceValueNotCell.link(&m_jit);
    4654             notDefaulthasInstanceValue.link(&m_jit);
     4651        if (!notDefaultHasInstanceValue.empty()) {
     4652            notDefaultHasInstanceValue.link(&m_jit);
    46554653            moveTrueTo(resultGPR);
    46564654        }
Note: See TracChangeset for help on using the changeset viewer.