Changeset 171689 in webkit for trunk/Source/JavaScriptCore/dfg
- Timestamp:
- Jul 28, 2014, 1:41:09 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
r171660 r171689 709 709 else if (node->child1()->shouldSpeculateObjectOrOther()) 710 710 fixEdge<ObjectOrOtherUse>(node->child1()); 711 else if (node->child1()->shouldSpeculateInt32OrBoolean()) 712 fixIntOrBooleanEdge(node->child1()); 713 else if (node->child1()->shouldSpeculateNumberOrBoolean()) 714 fixDoubleOrBooleanEdge(node->child1()); 711 // FIXME: We should just be able to do shouldSpeculateInt32OrBoolean() and 712 // shouldSpeculateNumberOrBoolean() here, but we can't because then the Branch 713 // could speculate on the result of a non-speculative conversion node. 714 // https://bugs.webkit.org/show_bug.cgi?id=126778 715 else if (node->child1()->shouldSpeculateInt32()) 716 fixEdge<Int32Use>(node->child1()); 717 else if (node->child1()->shouldSpeculateNumber()) 718 fixEdge<DoubleRepUse>(node->child1()); 715 719 break; 716 720 } … … 1982 1986 // Terminal nodes don't need post-phantoms, and inserting them would violate 1983 1987 // the current requirement that a terminal is the last thing in a block. We 1984 // should eventually change that requirement but even if we did, this would1985 // still be a valid optimization. All terminals accept just one input, and1986 // if that input is a conversion node then no further speculations will be1987 // performed.1988 1988 // should eventually change that requirement. Currently we get around this by 1989 // ensuring that all terminals accept just one input, and if that input is a 1990 // conversion node then no further speculations will be performed. See 1991 // references to the bug, below, for places where we have to have hacks to 1992 // work around this. 1989 1993 // FIXME: Get rid of this by allowing Phantoms after terminals. 1990 1994 // https://bugs.webkit.org/show_bug.cgi?id=126778
Note:
See TracChangeset
for help on using the changeset viewer.