Changeset 155593 in webkit for trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
- Timestamp:
- Sep 11, 2013, 10:46:49 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
r155590 r155593 908 908 #endif 909 909 } 910 911 DFG_NODE_DO_TO_CHILDREN(m_graph, node, observeUntypedEdge); 910 912 911 913 #if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE) … … 916 918 dataLogF("\n"); 917 919 #endif 920 } 921 922 void observeUntypedEdge(Node*, Edge& edge) 923 { 924 if (edge.useKind() != UntypedUse) 925 return; 926 fixEdge<UntypedUse>(edge); 918 927 } 919 928 … … 1281 1290 void observeUseKindOnNode(Node* node) 1282 1291 { 1292 if (useKind == UntypedUse) 1293 return; 1283 1294 observeUseKindOnNode(node, useKind); 1284 1295 } … … 1327 1338 } 1328 1339 1329 // Set the use kind of the edge. In the future (https://bugs.webkit.org/show_bug.cgi?id=110433), 1330 // this can be used to notify the GetLocal that the variable is profitable to unbox. 1340 // Set the use kind of the edge and perform any actions that need to be done for 1341 // that use kind, like inserting intermediate conversion nodes. Never call this 1342 // with useKind = UntypedUse explicitly; edges have UntypedUse implicitly and any 1343 // edge that survives fixup and still has UntypedUse will have this method called 1344 // from observeUntypedEdge(). Also, make sure that if you do change the type of an 1345 // edge, you either call fixEdge() or perform the equivalent functionality 1346 // yourself. Obviously, you should have a really good reason if you do the latter. 1331 1347 template<UseKind useKind> 1332 1348 void fixEdge(Edge& edge, SpeculationDirection direction = BackwardSpeculation)
Note:
See TracChangeset
for help on using the changeset viewer.