| Index: src/compiler/ast-graph-builder.cc | 
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc | 
| index 2a4bdd900eee2e95c8595b50c1b1175d74b05b75..41ae47ccb4c4efd7a82553c5e48e993a313942b8 100644 | 
| --- a/src/compiler/ast-graph-builder.cc | 
| +++ b/src/compiler/ast-graph-builder.cc | 
| @@ -3377,7 +3377,7 @@ Node* AstGraphBuilder::BuildThrowError(Node* exception, BailoutId bailout_id) { | 
| PrepareFrameState(call, bailout_id); | 
| Node* control = NewNode(common()->Throw(), call); | 
| UpdateControlDependencyToLeaveFunction(control); | 
| -  return control; | 
| +  return call; | 
| } | 
|  | 
|  | 
| @@ -3390,7 +3390,7 @@ Node* AstGraphBuilder::BuildThrowReferenceError(Variable* variable, | 
| PrepareFrameState(call, bailout_id); | 
| Node* control = NewNode(common()->Throw(), call); | 
| UpdateControlDependencyToLeaveFunction(control); | 
| -  return control; | 
| +  return call; | 
| } | 
|  | 
|  | 
| @@ -3401,7 +3401,7 @@ Node* AstGraphBuilder::BuildThrowConstAssignError(BailoutId bailout_id) { | 
| PrepareFrameState(call, bailout_id); | 
| Node* control = NewNode(common()->Throw(), call); | 
| UpdateControlDependencyToLeaveFunction(control); | 
| -  return control; | 
| +  return call; | 
| } | 
|  | 
|  | 
| @@ -3412,7 +3412,7 @@ Node* AstGraphBuilder::BuildThrowStaticPrototypeError(BailoutId bailout_id) { | 
| PrepareFrameState(call, bailout_id); | 
| Node* control = NewNode(common()->Throw(), call); | 
| UpdateControlDependencyToLeaveFunction(control); | 
| -  return control; | 
| +  return call; | 
| } | 
|  | 
|  | 
| @@ -3556,14 +3556,15 @@ Node* AstGraphBuilder::MakeNode(const Operator* op, int value_input_count, | 
| *current_input++ = environment_->GetControlDependency(); | 
| } | 
| result = graph()->NewNode(op, input_count_with_deps, buffer, incomplete); | 
| -    if (has_effect) { | 
| -      environment_->UpdateEffectDependency(result); | 
| -    } | 
| if (!environment()->IsMarkedAsUnreachable()) { | 
| // Update the current control dependency for control-producing nodes. | 
| if (NodeProperties::IsControl(result)) { | 
| environment_->UpdateControlDependency(result); | 
| } | 
| +      // Update the current effect dependency for effect-producing nodes. | 
| +      if (result->op()->EffectOutputCount() > 0) { | 
| +        environment_->UpdateEffectDependency(result); | 
| +      } | 
| // Add implicit exception continuation for throwing nodes. | 
| if (!result->op()->HasProperty(Operator::kNoThrow) && inside_try_scope) { | 
| // Conservative prediction whether caught locally. | 
|  |