Changeset 90487 in webkit


Ignore:
Timestamp:
Jul 6, 2011 1:40:21 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-07-06 Filip Pizlo <fpizlo@apple.com>

DFG speculative JIT may crash when speculating int on a non-int JSConstant.
https://bugs.webkit.org/show_bug.cgi?id=64017

Reviewed by Gavin Barraclough.

  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal): (JSC::DFG::SpeculativeJIT::compile):
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r90477 r90487  
     12011-07-06  Filip Pizlo  <fpizlo@apple.com>
     2
     3        DFG speculative JIT may crash when speculating int on a non-int JSConstant.
     4        https://bugs.webkit.org/show_bug.cgi?id=64017
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * dfg/DFGSpeculativeJIT.cpp:
     9        (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
     10        (JSC::DFG::SpeculativeJIT::compile):
     11
    1122011-07-06  Dmitriy Vyukov  <dvyukov@google.com>
    213
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

    r90423 r90487  
    5050                return gpr;
    5151            }
    52             m_jit.move(valueOfJSConstantAsImmPtr(nodeIndex), gpr);
     52            terminateSpeculativeExecution();
     53            returnFormat = DataFormatInteger;
     54            return allocate();
    5355        } else {
    5456            DataFormat spillFormat = info.spillFormat();
     
    863865        GPRReg valueReg = value.gpr();
    864866        GPRReg scratchReg = scratch.gpr();
     867       
     868        if (!m_compileOkay)
     869            return;
    865870
    866871        writeBarrier(m_jit, baseReg, scratchReg);
Note: See TracChangeset for help on using the changeset viewer.