diff options
Diffstat (limited to 'deps/v8/src/compiler/graph-reducer.cc')
-rw-r--r-- | deps/v8/src/compiler/graph-reducer.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/deps/v8/src/compiler/graph-reducer.cc b/deps/v8/src/compiler/graph-reducer.cc index 6f583d6b6a..b13b954714 100644 --- a/deps/v8/src/compiler/graph-reducer.cc +++ b/deps/v8/src/compiler/graph-reducer.cc @@ -168,6 +168,10 @@ void GraphReducer::Replace(Node* node, Node* replacement) { void GraphReducer::Replace(Node* node, Node* replacement, NodeId max_id) { + if (FLAG_trace_turbo_reduction) { + OFStream os(stdout); + os << "- Replacing " << *node << " with " << *replacement << std::endl; + } if (node == graph()->start()) graph()->SetStart(replacement); if (node == graph()->end()) graph()->SetEnd(replacement); if (replacement->id() <= max_id) { @@ -222,7 +226,11 @@ void GraphReducer::ReplaceWithValue(Node* node, Node* value, Node* effect, edge.UpdateTo(dead_); Revisit(user); } else { - UNREACHABLE(); + DCHECK_NOT_NULL(control); + edge.UpdateTo(control); + Revisit(user); + // TODO(jarin) Check that the node cannot throw (otherwise, it + // would have to be connected via IfSuccess/IfException). } } else if (NodeProperties::IsEffectEdge(edge)) { DCHECK_NOT_NULL(effect); |