Changeset 39720 in webkit for trunk/JavaScriptCore/interpreter
- Timestamp:
- Jan 8, 2009, 2:51:19 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/interpreter/Interpreter.cpp
r39697 r39720 90 90 static const int preferredScriptCheckTimeInterval = 1000; 91 91 92 static ALWAYS_INLINE unsigned bytecodeOffsetForPC(C odeBlock* codeBlock, void* pc)92 static ALWAYS_INLINE unsigned bytecodeOffsetForPC(CallFrame* callFrame, CodeBlock* codeBlock, void* pc) 93 93 { 94 94 #if ENABLE(JIT) 95 return codeBlock->getBytecodeIndex( pc);95 return codeBlock->getBytecodeIndex(callFrame, pc); 96 96 #else 97 UNUSED_PARAM(callFrame); 97 98 return static_cast<Instruction*>(pc) - codeBlock->instructions().begin(); 98 99 #endif … … 773 774 774 775 codeBlock = callFrame->codeBlock(); 775 bytecodeOffset = bytecodeOffsetForPC(c odeBlock, returnPC);776 bytecodeOffset = bytecodeOffsetForPC(callFrame, codeBlock, returnPC); 776 777 return true; 777 778 } … … 2349 2350 } 2350 2351 DEFINE_OPCODE(op_get_global_var) { 2351 /* get_global_var dst(r) globalObject(c) index(n) nop(n) nop(n)2352 /* get_global_var dst(r) globalObject(c) index(n) 2352 2353 2353 2354 Gets the global var at global slot index and places it in register dst. … … 4033 4034 return; 4034 4035 4035 unsigned bytecodeOffset = bytecodeOffsetForPC(caller CodeBlock, callFrame->returnPC());4036 unsigned bytecodeOffset = bytecodeOffsetForPC(callerFrame, callerCodeBlock, callFrame->returnPC()); 4036 4037 lineNumber = callerCodeBlock->lineNumberForBytecodeOffset(callerFrame, bytecodeOffset - 1); 4037 4038 sourceID = callerCodeBlock->ownerNode()->sourceID(); … … 4740 4741 CallFrame* callFrame = ARG_callFrame; 4741 4742 CodeBlock* codeBlock = callFrame->codeBlock(); 4742 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);4743 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 4743 4744 ARG_globalData->exception = createInvalidParamError(callFrame, "instanceof", baseVal, vPCIndex, codeBlock); 4744 4745 VM_THROW_EXCEPTION(); … … 4943 4944 ASSERT(callType == CallTypeNone); 4944 4945 4945 CodeBlock* codeBlock = ARG_callFrame->codeBlock(); 4946 unsigned vPCIndex = codeBlock->getBytecodeIndex(STUB_RETURN_ADDRESS); 4946 CallFrame* callFrame = ARG_callFrame; 4947 CodeBlock* codeBlock = callFrame->codeBlock(); 4948 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 4947 4949 ARG_globalData->exception = createNotAFunctionError(ARG_callFrame, funcVal, vPCIndex, codeBlock); 4948 4950 VM_THROW_EXCEPTION(); … … 5038 5040 5039 5041 CodeBlock* codeBlock = callFrame->codeBlock(); 5040 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5042 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5041 5043 ARG_globalData->exception = createUndefinedVariableError(callFrame, ident, vPCIndex, codeBlock); 5042 5044 VM_THROW_EXCEPTION(); … … 5089 5091 5090 5092 CodeBlock* codeBlock = callFrame->codeBlock(); 5091 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5093 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5092 5094 ARG_globalData->exception = createNotAConstructorError(callFrame, constrVal, vPCIndex, codeBlock); 5093 5095 VM_THROW_EXCEPTION(); … … 5167 5169 5168 5170 CodeBlock* codeBlock = callFrame->codeBlock(); 5169 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5171 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5170 5172 ARG_globalData->exception = createUndefinedVariableError(callFrame, ident, vPCIndex, codeBlock); 5171 5173 VM_THROW_EXCEPTION_2(); … … 5335 5337 5336 5338 CodeBlock* codeBlock = callFrame->codeBlock(); 5337 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5339 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5338 5340 ARG_globalData->exception = createUndefinedVariableError(callFrame, ident, vPCIndex, codeBlock); 5339 5341 VM_THROW_EXCEPTION(); … … 5367 5369 } 5368 5370 5369 unsigned vPCIndex = ARG_callFrame->codeBlock()->getBytecodeIndex(STUB_RETURN_ADDRESS);5371 unsigned vPCIndex = callFrame->codeBlock()->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5370 5372 ARG_globalData->exception = createUndefinedVariableError(callFrame, ident, vPCIndex, callFrame->codeBlock()); 5371 5373 VM_THROW_EXCEPTION(); … … 5573 5575 5574 5576 CodeBlock* codeBlock = callFrame->codeBlock(); 5575 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5577 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5576 5578 ARG_globalData->exception = createUndefinedVariableError(callFrame, ident, vPCIndex, codeBlock); 5577 5579 VM_THROW_EXCEPTION_2(); … … 5729 5731 CodeBlock* codeBlock = callFrame->codeBlock(); 5730 5732 5731 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5733 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5732 5734 5733 5735 JSValuePtr exceptionValue = ARG_src1; … … 5883 5885 CallFrame* callFrame = ARG_callFrame; 5884 5886 CodeBlock* codeBlock = callFrame->codeBlock(); 5885 unsigned vPCIndex = codeBlock->getBytecodeIndex( STUB_RETURN_ADDRESS);5887 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, STUB_RETURN_ADDRESS); 5886 5888 ARG_globalData->exception = createInvalidParamError(callFrame, "in", baseVal, vPCIndex, codeBlock); 5887 5889 VM_THROW_EXCEPTION(); … … 6074 6076 JSGlobalData* globalData = ARG_globalData; 6075 6077 6076 unsigned vPCIndex = codeBlock->getBytecodeIndex( globalData->exceptionLocation);6078 unsigned vPCIndex = codeBlock->getBytecodeIndex(callFrame, globalData->exceptionLocation); 6077 6079 6078 6080 JSValuePtr exceptionValue = globalData->exception;
Note:
See TracChangeset
for help on using the changeset viewer.