| Index: src/compiler/js-call-reducer.cc
|
| diff --git a/src/compiler/js-call-reducer.cc b/src/compiler/js-call-reducer.cc
|
| index b3561e9a5465768f4fb5ecbecac9b7d27b101e0c..fef55c5667385a4e5bd9112cbc5094e8a5392f1e 100644
|
| --- a/src/compiler/js-call-reducer.cc
|
| +++ b/src/compiler/js-call-reducer.cc
|
| @@ -328,8 +328,8 @@ Reduction JSCallReducer::ReduceJSCallFunction(Node* node) {
|
| // Check that the {target} is still the {array_function}.
|
| Node* check = graph()->NewNode(javascript()->StrictEqual(), target,
|
| array_function, context);
|
| - control = graph()->NewNode(common()->DeoptimizeUnless(), check, frame_state,
|
| - effect, control);
|
| + control = effect = graph()->NewNode(common()->DeoptimizeUnless(), check,
|
| + frame_state, effect, control);
|
|
|
| // Turn the {node} into a {JSCreateArray} call.
|
| NodeProperties::ReplaceValueInput(node, array_function, 0);
|
| @@ -345,11 +345,12 @@ Reduction JSCallReducer::ReduceJSCallFunction(Node* node) {
|
| // Check that the {target} is still the {target_function}.
|
| Node* check = graph()->NewNode(javascript()->StrictEqual(), target,
|
| target_function, context);
|
| - control = graph()->NewNode(common()->DeoptimizeUnless(), check,
|
| - frame_state, effect, control);
|
| + control = effect = graph()->NewNode(common()->DeoptimizeUnless(), check,
|
| + frame_state, effect, control);
|
|
|
| // Specialize the JSCallFunction node to the {target_function}.
|
| NodeProperties::ReplaceValueInput(node, target_function, 0);
|
| + NodeProperties::ReplaceEffectInput(node, effect);
|
| NodeProperties::ReplaceControlInput(node, control);
|
|
|
| // Try to further reduce the JSCallFunction {node}.
|
| @@ -453,8 +454,8 @@ Reduction JSCallReducer::ReduceJSCallConstruct(Node* node) {
|
| // Check that the {target} is still the {array_function}.
|
| Node* check = graph()->NewNode(javascript()->StrictEqual(), target,
|
| array_function, context);
|
| - control = graph()->NewNode(common()->DeoptimizeUnless(), check, frame_state,
|
| - effect, control);
|
| + control = effect = graph()->NewNode(common()->DeoptimizeUnless(), check,
|
| + frame_state, effect, control);
|
|
|
| // Turn the {node} into a {JSCreateArray} call.
|
| NodeProperties::ReplaceEffectInput(node, effect);
|
| @@ -476,8 +477,8 @@ Reduction JSCallReducer::ReduceJSCallConstruct(Node* node) {
|
| // Check that the {target} is still the {target_function}.
|
| Node* check = graph()->NewNode(javascript()->StrictEqual(), target,
|
| target_function, context);
|
| - control = graph()->NewNode(common()->DeoptimizeUnless(), check,
|
| - frame_state, effect, control);
|
| + control = effect = graph()->NewNode(common()->DeoptimizeUnless(), check,
|
| + frame_state, effect, control);
|
|
|
| // Specialize the JSCallConstruct node to the {target_function}.
|
| NodeProperties::ReplaceValueInput(node, target_function, 0);
|
|
|