[webkit-dev] Non JS Function call.
Hi all. As I understand in SFX all non JS functions calls go trough JITStubs:op_call_NotJSFunction function. But in which point, where, the op_call_NotJSFunction function is called? Can anyone please explain how function calls are implemented in SFX(simple jit). Thanks for attention ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Non JS Function call.
On Jul 24, 2012, at 5:51 AM, vahe vardanyan vahag...@gmail.com wrote: Hi all. As I understand in SFX all non JS functions calls go trough JITStubs:op_call_NotJSFunction function. But in which point, where, the op_call_NotJSFunction function is called? It's called from code generated by the JIT. I would start by running a command called grep on the code in the jit directory to search for mentions of NotJSFunction. Can anyone please explain how function calls are implemented in SFX(simple jit). Thanks for attention ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Non JS Function call.
Grep gives nothing, there is only one mention of op_call_NotJSFunction in privateCompileCTIMachineTrampolines(JITOpcodes.cpp), but I don't see any call instruction there. Still can't understand how calls orgonized in SXF. On 24 July 2012 20:07, Filip Pizlo fpi...@apple.com wrote: On Jul 24, 2012, at 5:51 AM, vahe vardanyan vahag...@gmail.com wrote: Hi all. As I understand in SFX all non JS functions calls go trough JITStubs:op_call_NotJSFunction function. But in which point, where, the op_call_NotJSFunction function is called? It's called from code generated by the JIT. I would start by running a command called grep on the code in the jit directory to search for mentions of NotJSFunction. Can anyone please explain how function calls are implemented in SFX(simple jit). Thanks for attention ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Non JS Function call.
op_call_NotJSFunction is only referenced during the final linking phase. Actual compilation requires two distinct operations: 1) planting the call instruction and 2) linking the call target after the code has been relocated. Here is the (64-bit) version of the call + link logic: ... preserveReturnAddressAfterCall(regT3); emitPutToCallFrameHeader(regT3, RegisterFile::ReturnPC); emitPutImmediateToCallFrameHeader(0, RegisterFile::CodeBlock); storePtr(callFrameRegister, m_globalData-topCallFrame); restoreArgumentReference(); Call callCallNotJSFunction = call(); -- here is the call emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister); restoreReturnAddressBeforeReturn(regT3); ret(); ... patchBuffer.link(callCallNotJSFunction, FunctionPtr(cti_op_call_NotJSFunction)); -- here is us linking the call --Oliver On Jul 24, 2012, at 1:45 PM, vahe vardanyan wrote: Grep gives nothing, there is only one mention of op_call_NotJSFunction in privateCompileCTIMachineTrampolines(JITOpcodes.cpp), but I don't see any call instruction there. Still can't understand how calls orgonized in SXF. On 24 July 2012 20:07, Filip Pizlo fpi...@apple.com wrote: On Jul 24, 2012, at 5:51 AM, vahe vardanyan vahag...@gmail.com wrote: Hi all. As I understand in SFX all non JS functions calls go trough JITStubs:op_call_NotJSFunction function. But in which point, where, the op_call_NotJSFunction function is called? It's called from code generated by the JIT. I would start by running a command called grep on the code in the jit directory to search for mentions of NotJSFunction. Can anyone please explain how function calls are implemented in SFX(simple jit). Thanks for attention ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev