Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index 57190d75d8c5032e0dbce9008a5de2cd63f3da2d..772fa4bcd85850a1a1476af6fcba91867c92ae8f 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -5644,6 +5644,21 @@ void LCodeGen::DoLoadFieldByIndex(LLoadFieldByIndex* instr) { |
} |
+void LCodeGen::DoStoreFrameContext(LStoreFrameContext* instr) { |
+ Register context = ToRegister(instr->context()); |
+ __ mov(Operand(ebp, 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 |