Changeset 93915 in webkit


Ignore:
Timestamp:
Aug 26, 2011 2:46:00 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Update topCallFrame when calling host functions in the JIT
https://bugs.webkit.org/show_bug.cgi?id=67010

Patch by Juan C. Montemayor <jmont@apple.com> on 2011-08-26
Reviewed by Oliver Hunt.

The topCallFrame is not being updated when a host function is
called by the JIT. This causes problems when trying to create a
stack trace (https://bugs.webkit.org/show_bug.cgi?id=66994).

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r93913 r93915  
     12011-08-26  Juan C. Montemayor  <jmont@apple.com>
     2
     3        Update topCallFrame when calling host functions in the JIT
     4        https://bugs.webkit.org/show_bug.cgi?id=67010
     5
     6        Reviewed by Oliver Hunt.
     7       
     8        The topCallFrame is not being updated when a host function is
     9        called by the JIT. This causes problems when trying to create a
     10        stack trace (https://bugs.webkit.org/show_bug.cgi?id=66994).
     11
     12        * jit/JITOpcodes.cpp:
     13        (JSC::JIT::privateCompileCTIMachineTrampolines):
     14        (JSC::JIT::privateCompileCTINativeCall):
     15
    1162011-08-26  Alexey Proskuryakov  <ap@apple.com>
    217
  • trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp

    r92498 r93915  
    141141    storePtr(regT1, regT2);
    142142    poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
     143    storePtr(callFrameRegister, &m_globalData->topCallFrame);
    143144    poke(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));
    144145    ret();
     
    281282    poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
    282283
     284    storePtr(callFrameRegister, &m_globalData->topCallFrame);
    283285    // Set the return address.
    284286    move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1);
Note: See TracChangeset for help on using the changeset viewer.