Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index 60403f175296b3eb0c25c945cc48740854e2bcd8..943703d22ea03cda295d8a5a87e04cafdce21c96 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -4735,8 +4735,11 @@ void HOptimizedGraphBuilder::VisitBlock(Block* stmt) { |
} |
AddInstruction(function); |
// Allocate a block context and store it to the stack frame. |
- HInstruction* inner_context = Add<HAllocateBlockContext>( |
- outer_context, function, scope->GetScopeInfo(isolate())); |
+ HValue* scope_info = Add<HConstant>(scope->GetScopeInfo(isolate())); |
+ Add<HPushArguments>(scope_info, function); |
+ HInstruction* inner_context = Add<HCallRuntime>( |
+ Runtime::FunctionForId(Runtime::kPushBlockContext), 2); |
+ inner_context->SetFlag(HValue::kHasNoObservableSideEffects); |
HInstruction* instr = Add<HStoreFrameContext>(inner_context); |
set_scope(scope); |
environment()->BindContext(inner_context); |