Changeset 35918 in webkit for trunk/JavaScriptCore/VM/Machine.cpp
- Timestamp:
- Aug 25, 2008, 11:18:01 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/Machine.cpp
r35898 r35918 2423 2423 CallType callType = v->getCallData(callData); 2424 2424 2425 if (*enabledProfilerReference) 2426 (*enabledProfilerReference)->willExecute(exec, static_cast<JSObject*>(v)); 2427 2428 Register* callFrame = r + firstArg - RegisterFile::CallFrameHeaderSize; 2429 initializeCallFrame(callFrame, codeBlock, vPC, scopeChain, r, dst, firstArg, argCount, 0, v); 2430 exec->m_callFrame = callFrame; 2431 2425 2432 if (callType == CallTypeJS) { 2426 if (*enabledProfilerReference)2427 (*enabledProfilerReference)->willExecute(exec, static_cast<JSObject*>(v));2428 2433 2429 2434 ScopeChainNode* callDataScopeChain = callData.js.scopeChain; … … 2432 2437 2433 2438 r[firstArg] = thisVal == missingThisObjectMarker() ? exec->globalThisValue() : r[thisVal].jsValue(exec); 2434 2435 Register* callFrame = r + firstArg - RegisterFile::CallFrameHeaderSize;2436 initializeCallFrame(callFrame, codeBlock, vPC, scopeChain, r, dst, firstArg, argCount, 0, v);2437 exec->m_callFrame = callFrame;2438 2439 2439 2440 r = slideRegisterWindowForCall(exec, newCodeBlock, registerFile, registerBase, r, firstArg, argCount, exceptionValue); … … 2453 2454 2454 2455 if (callType == CallTypeHost) { 2455 if (*enabledProfilerReference)2456 (*enabledProfilerReference)->willExecute(exec, static_cast<JSObject*>(v));2457 2458 2456 JSValue* thisValue = thisVal == missingThisObjectMarker() ? exec->globalThisValue() : r[thisVal].jsValue(exec); 2459 2457 ArgList args(r + firstArg + 1, argCount - 1); … … 2935 2933 } 2936 2934 2935 void Machine::retrieveLastCaller(ExecState* exec, int& lineNumber, int& sourceId, UString& sourceURL) const 2936 { 2937 lineNumber = -1; 2938 sourceURL = UString(); 2939 2940 Register* callFrame = exec->m_callFrame; 2941 if (!callFrame) 2942 return; 2943 2944 CodeBlock* callerCodeBlock = callFrame[RegisterFile::CallerCodeBlock].codeBlock(); 2945 if (!callerCodeBlock) 2946 return; 2947 2948 Instruction* vPC = callFrame[RegisterFile::ReturnVPC].vPC(); 2949 lineNumber = callerCodeBlock->lineNumberForVPC(vPC - 1); 2950 sourceId = callerCodeBlock->ownerNode->sourceId(); 2951 sourceURL = callerCodeBlock->ownerNode->sourceURL(); 2952 } 2953 2937 2954 Register* Machine::callFrame(ExecState* exec, JSFunction* function) const 2938 2955 {
Note:
See TracChangeset
for help on using the changeset viewer.