Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index d8e392147684ec6e2ab4054a624bba899e92f28b..32e584db94437e33051a972255d94ba52a6412c4 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -5685,6 +5685,21 @@ void LCodeGen::DoLoadFieldByIndex(LLoadFieldByIndex* instr) { |
} |
+void LCodeGen::DoStoreFrameContext(LStoreFrameContext* instr) { |
+ Register context = ToRegister(instr->context()); |
+ __ movp(Operand(rbp, StandardFrameConstants::kContextOffset), context); |
+} |
+ |
+ |
+void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) { |
+ Handle<ScopeInfo> scope_info = instr->scope_info(); |
+ __ Push(scope_info); |
+ __ Push(ToRegister(instr->function())); |
+ CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr); |
+ RecordSafepoint(Safepoint::kNoLazyDeopt); |
+} |
+ |
+ |
#undef __ |
} } // namespace v8::internal |