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

Changeset 102200 in webkit


Ignore:
Timestamp:
Dec 6, 2011, 5:29:47 PM (15 years ago)
Author:
fpizlo@apple.com
Message:

DFG 32_64 call linking does not handle non-cell callees correctly
https://bugs.webkit.org/show_bug.cgi?id=73965

Reviewed by Sam Weinig.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r102194 r102200  
     12011-12-06  Filip Pizlo  <fpizlo@apple.com>
     2
     3        DFG 32_64 call linking does not handle non-cell callees correctly
     4        https://bugs.webkit.org/show_bug.cgi?id=73965
     5
     6        Reviewed by Sam Weinig.
     7
     8        * dfg/DFGSpeculativeJIT32_64.cpp:
     9        (JSC::DFG::SpeculativeJIT::emitCall):
     10
    1112011-12-06  Sam Weinig  <sam@webkit.org>
    212
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp

    r101964 r102200  
    13041304
    13051305    JITCompiler::DataLabelPtr targetToCheck;
    1306     JITCompiler::Jump slowPath;
    1307 
    1308     slowPath = m_jit.branchPtrWithPatch(MacroAssembler::NotEqual, calleePayloadGPR, targetToCheck);
     1306    JITCompiler::JumpList slowPath;
     1307
     1308    slowPath.append(m_jit.branchPtrWithPatch(MacroAssembler::NotEqual, calleePayloadGPR, targetToCheck));
     1309    slowPath.append(m_jit.branch32(MacroAssembler::NotEqual, calleeTagGPR, TrustedImm32(JSValue::CellTag)));
    13091310    m_jit.loadPtr(MacroAssembler::Address(calleePayloadGPR, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), resultPayloadGPR);
    13101311    m_jit.storePtr(resultPayloadGPR, payloadOfCallData(RegisterFile::ScopeChain));
Note: See TracChangeset for help on using the changeset viewer.