Changeset 120499 in webkit for trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
- Timestamp:
- Jun 15, 2012, 3:14:53 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r120244 r120499 751 751 } 752 752 753 void addStructureTransitionCheck(JSCell* object, Structure* structure) 754 { 755 // Add a weak JS constant for the object regardless, since the code should 756 // be jettisoned if the object ever dies. 757 NodeIndex objectIndex = cellConstant(object); 758 759 if (object->structure() == structure && structure->transitionWatchpointSetIsStillValid()) { 760 addToGraph(StructureTransitionWatchpoint, OpInfo(structure), objectIndex); 761 return; 762 } 763 764 addToGraph(CheckStructure, OpInfo(m_graph.addStructureSet(structure)), objectIndex); 765 } 766 753 767 SpeculatedType getPredictionWithoutOSRExit(NodeIndex nodeIndex, unsigned bytecodeIndex) 754 768 { … … 2105 2119 2106 2120 addToGraph(CheckStructure, OpInfo(m_graph.addStructureSet(methodCallStatus.structure())), base); 2107 if (methodCallStatus.needsPrototypeCheck()) 2108 addToGraph(CheckStructure, OpInfo(m_graph.addStructureSet(methodCallStatus.prototypeStructure())), cellConstant(methodCallStatus.prototype())); 2109 2121 if (methodCallStatus.needsPrototypeCheck()) { 2122 addStructureTransitionCheck( 2123 methodCallStatus.prototype(), methodCallStatus.prototypeStructure()); 2124 addToGraph(Phantom, base); 2125 } 2110 2126 set(getInstruction[1].u.operand, cellConstant(methodCallStatus.function())); 2111 2127 } else { … … 2212 2228 } 2213 2229 } 2230 ASSERT(putByIdStatus.oldStructure()->transitionWatchpointSetHasBeenInvalidated()); 2214 2231 addToGraph( 2215 2232 PutStructure,
Note:
See TracChangeset
for help on using the changeset viewer.