Title: [93915] trunk/Source/_javascript_Core
- Revision
- 93915
- Author
- [email protected]
- Date
- 2011-08-26 14:46:00 -0700 (Fri, 26 Aug 2011)
Log Message
Update topCallFrame when calling host functions in the JIT
https://bugs.webkit.org/show_bug.cgi?id=67010
Patch by Juan C. Montemayor <[email protected]> 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):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (93914 => 93915)
--- trunk/Source/_javascript_Core/ChangeLog 2011-08-26 21:41:15 UTC (rev 93914)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-08-26 21:46:00 UTC (rev 93915)
@@ -1,3 +1,18 @@
+2011-08-26 Juan C. Montemayor <[email protected]>
+
+ Update topCallFrame when calling host functions in the JIT
+ https://bugs.webkit.org/show_bug.cgi?id=67010
+
+ 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):
+
2011-08-26 Alexey Proskuryakov <[email protected]>
Get rid of frame life support timer
Modified: trunk/Source/_javascript_Core/jit/JITOpcodes.cpp (93914 => 93915)
--- trunk/Source/_javascript_Core/jit/JITOpcodes.cpp 2011-08-26 21:41:15 UTC (rev 93914)
+++ trunk/Source/_javascript_Core/jit/JITOpcodes.cpp 2011-08-26 21:46:00 UTC (rev 93915)
@@ -140,6 +140,7 @@
move(TrustedImmPtr(&globalData->exceptionLocation), regT2);
storePtr(regT1, regT2);
poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
+ storePtr(callFrameRegister, &m_globalData->topCallFrame);
poke(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));
ret();
@@ -280,6 +281,7 @@
storePtr(regT1, regT2);
poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
+ storePtr(callFrameRegister, &m_globalData->topCallFrame);
// Set the return address.
move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1);
restoreReturnAddressBeforeReturn(regT1);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes