Changeset 128544 in webkit for trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
- Timestamp:
- Sep 13, 2012, 7:17:01 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r128534 r128544 194 194 { 195 195 NodeIndex nodeIndex = m_currentBlock->variablesAtTail.local(operand); 196 bool isCaptured = m_codeBlock-> localIsCaptured(m_inlineStackTop->m_inlineCallFrame, operand);196 bool isCaptured = m_codeBlock->isCaptured(operand, m_inlineStackTop->m_inlineCallFrame); 197 197 198 198 if (nodeIndex != NoNode) { … … 254 254 void setLocal(unsigned operand, NodeIndex value, SetMode setMode = NormalSet) 255 255 { 256 bool isCaptured = m_codeBlock-> localIsCaptured(m_inlineStackTop->m_inlineCallFrame, operand);256 bool isCaptured = m_codeBlock->isCaptured(operand, m_inlineStackTop->m_inlineCallFrame); 257 257 258 258 if (setMode == NormalSet) { … … 273 273 { 274 274 unsigned argument = operandToArgument(operand); 275 276 bool isCaptured = m_codeBlock->argumentIsCaptured(argument);277 278 275 ASSERT(argument < m_numArguments); 279 276 280 277 NodeIndex nodeIndex = m_currentBlock->variablesAtTail.argument(argument); 278 bool isCaptured = m_codeBlock->isCaptured(operand); 281 279 282 280 if (nodeIndex != NoNode) { … … 340 338 { 341 339 unsigned argument = operandToArgument(operand); 342 bool isCaptured = m_codeBlock->argumentIsCaptured(argument);343 344 340 ASSERT(argument < m_numArguments); 345 341 342 bool isCaptured = m_codeBlock->isCaptured(operand); 343 346 344 // Always flush arguments, except for 'this'. 347 345 if (argument && setMode == NormalSet) … … 403 401 // some other local variable. 404 402 405 bool isCaptured = m_codeBlock->isCaptured( m_inlineStackTop->m_inlineCallFrame, operand);403 bool isCaptured = m_codeBlock->isCaptured(operand, m_inlineStackTop->m_inlineCallFrame); 406 404 407 405 ASSERT(operand < FirstConstantRegisterIndex); … … 1774 1772 for (unsigned argument = 0; argument < m_numArguments; ++argument) { 1775 1773 VariableAccessData* variable = newVariableAccessData( 1776 argumentToOperand(argument), m_codeBlock-> argumentIsCaptured(argument));1774 argumentToOperand(argument), m_codeBlock->isCaptured(argumentToOperand(argument))); 1777 1775 variable->mergeStructureCheckHoistingFailed( 1778 1776 m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, BadCache)); … … 3191 3189 inlineCallFrame.capturedVars = inlineCallFrame.caller.inlineCallFrame->capturedVars; 3192 3190 else { 3193 for (int i = byteCodeParser->m_codeBlock->m_numCapturedVars; i--;) 3194 inlineCallFrame.capturedVars.set(i); 3195 } 3196 3197 if (codeBlock->argumentsAreCaptured()) { 3198 for (int i = argumentCountIncludingThis; i--;) 3191 for (int i = byteCodeParser->m_codeBlock->m_numVars; i--;) { 3192 if (byteCodeParser->m_codeBlock->isCaptured(i)) 3193 inlineCallFrame.capturedVars.set(i); 3194 } 3195 } 3196 3197 for (int i = argumentCountIncludingThis; i--;) { 3198 if (codeBlock->isCaptured(argumentToOperand(i))) 3199 3199 inlineCallFrame.capturedVars.set(argumentToOperand(i) + inlineCallFrame.stackOffset); 3200 3200 } 3201 for (int i = codeBlock->m_numCapturedVars; i--;) 3202 inlineCallFrame.capturedVars.set(i + inlineCallFrame.stackOffset); 3203 3201 for (size_t i = codeBlock->m_numVars; i--;) { 3202 if (codeBlock->isCaptured(i)) 3203 inlineCallFrame.capturedVars.set(i + inlineCallFrame.stackOffset); 3204 } 3205 3204 3206 #if DFG_ENABLE(DEBUG_VERBOSE) 3205 3207 dataLog("Current captured variables: ");
Note:
See TracChangeset
for help on using the changeset viewer.