Changeset 129297 in webkit for trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
- Timestamp:
- Sep 21, 2012, 11:34:59 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
r129156 r129297 517 517 ASSERT(usesArguments()); 518 518 } 519 int argumentsRegister() 519 int argumentsRegister() const 520 520 { 521 521 ASSERT(usesArguments()); … … 532 532 m_activationRegister = activationRegister; 533 533 } 534 int activationRegister() 534 int activationRegister() const 535 535 { 536 536 ASSERT(needsFullScopeChain()); … … 555 555 return inlineCallFrame->capturedVars.get(operand); 556 556 557 // Our estimate of argument capture is conservative.558 557 if (operandIsArgument(operand)) 559 return needsActivation() || usesArguments(); 560 561 return operand < m_numCapturedVars; 558 return usesArguments(); 559 560 // The activation object isn't in the captured region, but it's "captured" 561 // in the sense that stores to its location can be observed indirectly. 562 if (needsActivation() && operand == activationRegister()) 563 return true; 564 565 // Ditto for the arguments object. 566 if (usesArguments() && operand == argumentsRegister()) 567 return true; 568 569 // Ditto for the arguments object. 570 if (usesArguments() && operand == unmodifiedArgumentsRegister(argumentsRegister())) 571 return true; 572 573 return operand >= m_symbolTable->captureStart() 574 && operand < m_symbolTable->captureEnd(); 562 575 } 563 576 … … 1177 1190 int m_numCalleeRegisters; 1178 1191 int m_numVars; 1179 int m_numCapturedVars;1180 1192 bool m_isConstructor; 1181 1193 … … 1533 1545 1534 1546 ASSERT(slowArguments[argument].status == SlowArgument::Captured); 1535 return slowArguments[argument].index IfCaptured;1547 return slowArguments[argument].index; 1536 1548 } 1537 1549
Note:
See TracChangeset
for help on using the changeset viewer.