Changeset 44455 in webkit for trunk/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- Jun 5, 2009, 12:55:38 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JIT.cpp
r44412 r44455 47 47 namespace JSC { 48 48 49 void ctiPatchCallByReturnAddress(MacroAssembler::ProcessorReturnAddress returnAddress, void* newCalleeFunction) 49 void ctiPatchNearCallByReturnAddress(MacroAssembler::ProcessorReturnAddress returnAddress, MacroAssemblerCodePtr newCalleeFunction) 50 { 51 returnAddress.relinkNearCallerToTrampoline(newCalleeFunction); 52 } 53 54 void ctiPatchCallByReturnAddress(MacroAssembler::ProcessorReturnAddress returnAddress, MacroAssemblerCodePtr newCalleeFunction) 55 { 56 returnAddress.relinkCallerToTrampoline(newCalleeFunction); 57 } 58 59 void ctiPatchCallByReturnAddress(MacroAssembler::ProcessorReturnAddress returnAddress, FunctionPtr newCalleeFunction) 50 60 { 51 61 returnAddress.relinkCallerToFunction(newCalleeFunction); 52 }53 54 void ctiPatchNearCallByReturnAddress(MacroAssembler::ProcessorReturnAddress returnAddress, void* newCalleeFunction)55 {56 returnAddress.relinkNearCallerToFunction(newCalleeFunction);57 62 } 58 63 … … 459 464 for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) { 460 465 if (iter->to) 461 patchBuffer.link(iter->from, iter->to);466 patchBuffer.link(iter->from, FunctionPtr(iter->to)); 462 467 } 463 468 … … 499 504 } 500 505 501 void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executablePool, JSGlobalData* globalData, void** ctiArrayLengthTrampoline, void** ctiStringLengthTrampoline, void** ctiVirtualCallPreLink, void** ctiVirtualCallLink, void** ctiVirtualCall, void** ctiNativeCallThunk)506 void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executablePool, JSGlobalData* globalData, CodePtr* ctiArrayLengthTrampoline, CodePtr* ctiStringLengthTrampoline, CodePtr* ctiVirtualCallPreLink, CodePtr* ctiVirtualCallLink, CodePtr* ctiVirtualCall, CodePtr* ctiNativeCallThunk) 502 507 { 503 508 #if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS) … … 844 849 845 850 #if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS) 846 patchBuffer.link(array_failureCases1Call, JITStubs::cti_op_get_by_id_array_fail);847 patchBuffer.link(array_failureCases2Call, JITStubs::cti_op_get_by_id_array_fail);848 patchBuffer.link(array_failureCases3Call, JITStubs::cti_op_get_by_id_array_fail);849 patchBuffer.link(string_failureCases1Call, JITStubs::cti_op_get_by_id_string_fail);850 patchBuffer.link(string_failureCases2Call, JITStubs::cti_op_get_by_id_string_fail);851 patchBuffer.link(string_failureCases3Call, JITStubs::cti_op_get_by_id_string_fail);852 #endif 853 patchBuffer.link(callArityCheck1, JITStubs::cti_op_call_arityCheck);854 patchBuffer.link(callArityCheck2, JITStubs::cti_op_call_arityCheck);855 patchBuffer.link(callArityCheck3, JITStubs::cti_op_call_arityCheck);856 patchBuffer.link(callJSFunction1, JITStubs::cti_op_call_JSFunction);857 patchBuffer.link(callJSFunction2, JITStubs::cti_op_call_JSFunction);858 patchBuffer.link(callJSFunction3, JITStubs::cti_op_call_JSFunction);859 patchBuffer.link(callDontLazyLinkCall, JITStubs::cti_vm_dontLazyLinkCall);860 patchBuffer.link(callLazyLinkCall, JITStubs::cti_vm_lazyLinkCall);851 patchBuffer.link(array_failureCases1Call, FunctionPtr(JITStubs::cti_op_get_by_id_array_fail)); 852 patchBuffer.link(array_failureCases2Call, FunctionPtr(JITStubs::cti_op_get_by_id_array_fail)); 853 patchBuffer.link(array_failureCases3Call, FunctionPtr(JITStubs::cti_op_get_by_id_array_fail)); 854 patchBuffer.link(string_failureCases1Call, FunctionPtr(JITStubs::cti_op_get_by_id_string_fail)); 855 patchBuffer.link(string_failureCases2Call, FunctionPtr(JITStubs::cti_op_get_by_id_string_fail)); 856 patchBuffer.link(string_failureCases3Call, FunctionPtr(JITStubs::cti_op_get_by_id_string_fail)); 857 #endif 858 patchBuffer.link(callArityCheck1, FunctionPtr(JITStubs::cti_op_call_arityCheck)); 859 patchBuffer.link(callArityCheck2, FunctionPtr(JITStubs::cti_op_call_arityCheck)); 860 patchBuffer.link(callArityCheck3, FunctionPtr(JITStubs::cti_op_call_arityCheck)); 861 patchBuffer.link(callJSFunction1, FunctionPtr(JITStubs::cti_op_call_JSFunction)); 862 patchBuffer.link(callJSFunction2, FunctionPtr(JITStubs::cti_op_call_JSFunction)); 863 patchBuffer.link(callJSFunction3, FunctionPtr(JITStubs::cti_op_call_JSFunction)); 864 patchBuffer.link(callDontLazyLinkCall, FunctionPtr(JITStubs::cti_vm_dontLazyLinkCall)); 865 patchBuffer.link(callLazyLinkCall, FunctionPtr(JITStubs::cti_vm_lazyLinkCall)); 861 866 862 867 CodeRef finalCode = patchBuffer.finalizeCode();
Note:
See TracChangeset
for help on using the changeset viewer.