|
Lines 140-145
void JIT::privateCompileCTIMachineTrampo
Source/JavaScriptCore/jit/JITOpcodes.cpp_sec1
|
| 140 |
move(TrustedImmPtr(&globalData->exceptionLocation), regT2); |
140 |
move(TrustedImmPtr(&globalData->exceptionLocation), regT2); |
| 141 |
storePtr(regT1, regT2); |
141 |
storePtr(regT1, regT2); |
| 142 |
poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*)); |
142 |
poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*)); |
|
|
143 |
// Fixme: Should TopCallFrame also be uploaded at this location? |
| 143 |
poke(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value())); |
144 |
poke(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value())); |
| 144 |
ret(); |
145 |
ret(); |
| 145 |
|
146 |
|
|
Lines 280-285
JIT::Label JIT::privateCompileCTINativeC
Source/JavaScriptCore/jit/JITOpcodes.cpp_sec2
|
| 280 |
storePtr(regT1, regT2); |
281 |
storePtr(regT1, regT2); |
| 281 |
poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*)); |
282 |
poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*)); |
| 282 |
|
283 |
|
|
|
284 |
storePtr(callFrameRegister, &m_globalData->topCallFrame); |
| 283 |
// Set the return address. |
285 |
// Set the return address. |
| 284 |
move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1); |
286 |
move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1); |
| 285 |
restoreReturnAddressBeforeReturn(regT1); |
287 |
restoreReturnAddressBeforeReturn(regT1); |