Changeset 156474 in webkit for trunk/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
- Timestamp:
- Sep 26, 2013, 10:50:46 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
r156211 r156474 143 143 ASSERT(m_graph.m_form == SSA); 144 144 VariableAccessData* variable = node->variableAccessData(); 145 AbstractValue& value = m_state.variables().operand(variable->local() );145 AbstractValue& value = m_state.variables().operand(variable->local().offset()); 146 146 ASSERT(value.isHeapTop()); 147 147 FiltrationResult result = … … 153 153 154 154 case ExtractOSREntryLocal: { 155 if (! operandIsArgument(node->unlinkedLocal())156 && m_graph.m_lazyVars.get( operandToLocal(node->unlinkedLocal()))) {155 if (!(node->unlinkedLocal().isArgument()) 156 && m_graph.m_lazyVars.get(node->unlinkedLocal().toLocal())) { 157 157 // This is kind of pessimistic - we could know in some cases that the 158 158 // DFG code at the point of the OSR had already initialized the lazy … … 172 172 break; 173 173 } 174 AbstractValue value = m_state.variables().operand(variableAccessData->local() );174 AbstractValue value = m_state.variables().operand(variableAccessData->local().offset()); 175 175 if (!variableAccessData->isCaptured()) { 176 176 if (value.isClear()) … … 184 184 185 185 case GetLocalUnlinked: { 186 AbstractValue value = m_state.variables().operand(node->unlinkedLocal() );186 AbstractValue value = m_state.variables().operand(node->unlinkedLocal().offset()); 187 187 if (value.value()) 188 188 m_state.setFoundConstants(true); … … 192 192 193 193 case SetLocal: { 194 m_state.variables().operand(node->local() ) = forNode(node->child1());194 m_state.variables().operand(node->local().offset()) = forNode(node->child1()); 195 195 break; 196 196 } … … 1134 1134 if (isEmptySpeculation( 1135 1135 m_state.variables().operand( 1136 m_graph.argumentsRegisterFor(node->codeOrigin) ).m_type))1136 m_graph.argumentsRegisterFor(node->codeOrigin).offset()).m_type)) 1137 1137 m_state.setFoundConstants(true); 1138 1138 else … … 1608 1608 } else { 1609 1609 for (size_t i = m_codeBlock->m_numVars; i--;) { 1610 if (m_codeBlock->isCaptured( localToOperand(i)))1610 if (m_codeBlock->isCaptured(virtualRegisterForLocal(i))) 1611 1611 m_state.variables().local(i).makeHeapTop(); 1612 1612 } … … 1614 1614 1615 1615 for (size_t i = m_state.variables().numberOfArguments(); i--;) { 1616 if (m_codeBlock->isCaptured( argumentToOperand(i)))1616 if (m_codeBlock->isCaptured(virtualRegisterForArgument(i))) 1617 1617 m_state.variables().argument(i).makeHeapTop(); 1618 1618 }
Note:
See TracChangeset
for help on using the changeset viewer.