Changeset 158237 in webkit for trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
- Timestamp:
- Oct 29, 2013, 4:15:09 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
r157746 r158237 155 155 if (!arguments) { // f.apply(x, arguments), with arguments unmodified. 156 156 unsigned argumentCountIncludingThis = callFrame->argumentCountIncludingThis(); 157 CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + firstFreeRegister - argumentCountIncludingThis - JSStack::CallFrameHeaderSize );157 CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + firstFreeRegister - argumentCountIncludingThis - JSStack::CallFrameHeaderSize - 1); 158 158 if (argumentCountIncludingThis > Arguments::MaxArguments + 1 || !stack->grow(newCallFrame->registers())) { 159 159 callFrame->vm().throwException(callFrame, createStackOverflowError(callFrame)); … … 169 169 170 170 if (arguments.isUndefinedOrNull()) { 171 CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + firstFreeRegister - 1 - JSStack::CallFrameHeaderSize );171 CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + firstFreeRegister - 1 - JSStack::CallFrameHeaderSize - 1); 172 172 if (!stack->grow(newCallFrame->registers())) { 173 173 callFrame->vm().throwException(callFrame, createStackOverflowError(callFrame)); … … 296 296 visitor->computeLineAndColumn(line, unusedColumn); 297 297 dataLogF("[ReturnVPC] | %10p | %d (line %d)\n", m_it, visitor->bytecodeOffset(), line); 298 ++m_it;298 --m_it; 299 299 return StackVisitor::Done; 300 300 } … … 316 316 const Register* end; 317 317 318 it = callFrame->registers() + JSStack:: CallFrameHeaderSize + callFrame->argumentCountIncludingThis();319 end = callFrame->registers() + JSStack:: CallFrameHeaderSize;318 it = callFrame->registers() + JSStack::ThisArgument + callFrame->argumentCount(); 319 end = callFrame->registers() + JSStack::ThisArgument - 1; 320 320 while (it > end) { 321 321 JSValue v = it->jsValue(); … … 323 323 String name = codeBlock->nameForRegister(VirtualRegister(registerNumber)); 324 324 dataLogF("[r% 3d %14s] | %10p | %-16s 0x%lld \n", registerNumber, name.ascii().data(), it, toCString(v).data(), (long long)JSValue::encode(v)); 325 it++;325 --it; 326 326 } 327 327 … … 348 348 dataLogF("-----------------------------------------------------------------------------\n"); 349 349 350 int registerCount = 0;351 352 350 end = it - codeBlock->m_numVars; 353 351 if (it != end) { … … 358 356 dataLogF("[r% 3d %14s] | %10p | %-16s 0x%lld \n", registerNumber, name.ascii().data(), it, toCString(v).data(), (long long)JSValue::encode(v)); 359 357 --it; 360 --registerCount;361 358 } while (it != end); 362 359 } 363 360 dataLogF("-----------------------------------------------------------------------------\n"); 364 361 365 end = it + codeBlock->m_numCalleeRegisters -codeBlock->m_numVars;362 end = it - codeBlock->m_numCalleeRegisters + codeBlock->m_numVars; 366 363 if (it != end) { 367 364 do { 368 365 JSValue v = (*it).jsValue(); 369 dataLogF("[r% 3d] | %10p | %-16s 0x%lld \n", registerCount, it, toCString(v).data(), (long long)JSValue::encode(v));370 ++it;371 ++registerCount;366 int registerNumber = it - callFrame->registers(); 367 dataLogF("[r% 3d] | %10p | %-16s 0x%lld \n", registerNumber, it, toCString(v).data(), (long long)JSValue::encode(v)); 368 --it; 372 369 } while (it != end); 373 370 }
Note:
See TracChangeset
for help on using the changeset viewer.