Changeset 89465 in webkit for trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
- Timestamp:
- Jun 22, 2011, 1:07:37 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
r89228 r89465 410 410 return throwError(callFrame, exceptionValue); 411 411 412 return callFrame->globalData().interpreter->execute(eval, callFrame, callFrame->uncheckedR(codeBlock->thisRegister()).jsValue().toThisObject(callFrame), callFrame->registers() - registerFile-> start() + registerOffset, scopeChain);412 return callFrame->globalData().interpreter->execute(eval, callFrame, callFrame->uncheckedR(codeBlock->thisRegister()).jsValue().toThisObject(callFrame), callFrame->registers() - registerFile->begin() + registerOffset, scopeChain); 413 413 } 414 414 415 Interpreter::Interpreter( JSGlobalData& globalData)415 Interpreter::Interpreter() 416 416 : m_sampleEntryDepth(0) 417 417 , m_reentryDepth(0) 418 , m_registerFile(globalData)419 418 { 420 419 #if ENABLE(COMPUTED_GOTO_INTERPRETER) … … 446 445 447 446 CodeBlock* codeBlock = callFrame->codeBlock(); 448 RegisterFile* registerFile = &callFrame->scopeChain()->globalObject->globalData().interpreter->registerFile();449 447 const Register* it; 450 448 const Register* end; 451 449 JSValue v; 452 450 453 if (codeBlock->codeType() == GlobalCode) {454 it = registerFile->lastGlobal();455 end = it + registerFile->numGlobals();456 while (it != end) {457 v = (*it).jsValue();458 #if USE(JSVALUE32_64)459 printf("[global var] | %10p | %-16s 0x%llx \n", it, v.description(), JSValue::encode(v));460 #else461 printf("[global var] | %10p | %-16s %p \n", it, v.description(), JSValue::encode(v));462 #endif463 ++it;464 }465 printf("-----------------------------------------------------------------------------\n");466 }467 468 451 it = callFrame->registers() - RegisterFile::CallFrameHeaderSize - codeBlock->m_numParameters; 469 452 v = (*it).jsValue(); … … 827 810 return checkedReturn(throwStackOverflowError(callFrame)); 828 811 829 JSGlobalObject* lastGlobalObject = m_registerFile.globalObject();830 JSGlobalObject* globalObject = callFrame->dynamicGlobalObject();831 globalObject->copyGlobalsTo(m_registerFile);832 833 812 CallFrame* newCallFrame = CallFrame::create(oldEnd + codeBlock->m_numParameters + RegisterFile::CallFrameHeaderSize); 834 813 ASSERT(codeBlock->m_numParameters == 1); // 1 parameter for 'this'. … … 857 836 if (*profiler) 858 837 (*profiler)->didExecute(callFrame, program->sourceURL(), program->lineNo()); 859 860 if (m_reentryDepth && lastGlobalObject && globalObject != lastGlobalObject)861 lastGlobalObject->copyGlobalsTo(m_registerFile);862 838 863 839 m_registerFile.shrink(oldEnd); … … 1205 1181 1206 1182 Register* oldEnd = m_registerFile.end(); 1207 Register* newEnd = m_registerFile. start() + globalRegisterOffset + codeBlock->m_numCalleeRegisters;1183 Register* newEnd = m_registerFile.begin() + globalRegisterOffset + codeBlock->m_numCalleeRegisters; 1208 1184 if (!m_registerFile.grow(newEnd)) { 1209 1185 if (pushedScope) … … 1212 1188 } 1213 1189 1214 CallFrame* newCallFrame = CallFrame::create(m_registerFile. start() + globalRegisterOffset);1190 CallFrame* newCallFrame = CallFrame::create(m_registerFile.begin() + globalRegisterOffset); 1215 1191 1216 1192 ASSERT(codeBlock->m_numParameters == 1); // 1 parameter for 'this'.
Note:
See TracChangeset
for help on using the changeset viewer.