| 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);
 | 
| 
 |