Ensure that the DFG JIT always plants a CodeOrigin when making calls
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2012 01:29:12 +0000 (01:29 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2012 01:29:12 +0000 (01:29 +0000)
commitb23a83543e6ce3f59ded076a4af05e0039cb0de8
tree25acaad71cd29eaa99fb4d489c139477d184b88f
parente70ed00e1b2a7a04d5a8b37c42cabdb9e31ded12
Ensure that the DFG JIT always plants a CodeOrigin when making calls
https://bugs.webkit.org/show_bug.cgi?id=78763

Reviewed by Gavin Barraclough.

Make all calls plant a CodeOrigin prior to the actual
call.  Also clobbers the Interpreter with logic to ensure
that the interpreter always plants a bytecode offset.

* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(CallBeginToken):
(JSC::DFG::JITCompiler::beginJSCall):
(JSC::DFG::JITCompiler::beginCall):
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* interpreter/AbstractPC.cpp:
(JSC::AbstractPC::AbstractPC):
* interpreter/CallFrame.cpp:
(JSC::CallFrame::trueCallFrame):
* interpreter/CallFrame.h:
(JSC::ExecState::bytecodeOffsetForNonDFGCode):
(ExecState):
(JSC::ExecState::setBytecodeOffsetForNonDFGCode):
(JSC::ExecState::codeOriginIndexForDFG):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
Source/JavaScriptCore/dfg/DFGJITCompiler.h
Source/JavaScriptCore/dfg/DFGRepatch.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
Source/JavaScriptCore/interpreter/AbstractPC.cpp
Source/JavaScriptCore/interpreter/CallFrame.cpp
Source/JavaScriptCore/interpreter/CallFrame.h