Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index a7a88ceeeae02da80c50a589aee3ba63200ea692..b9b67ab05b74331ecc3515806828b252408c761a 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -941,6 +941,8 @@ void Builtins::Generate_CompileLazy(MacroAssembler* masm) { |
Label install_optimized_code_and_tailcall; |
__ bind(&install_optimized_code_and_tailcall); |
__ mov(FieldOperand(closure, JSFunction::kCodeEntryOffset), entry); |
+ __ mov(ebx, entry); |
+ __ RecordWriteCodeEntryField(closure, ebx, eax); |
// Link the closure into the optimized function list. |
// ecx : code entry |
@@ -997,6 +999,8 @@ void Builtins::Generate_CompileLazy(MacroAssembler* masm) { |
// Yes, install the full code. |
__ lea(entry, FieldOperand(entry, Code::kHeaderSize)); |
__ mov(FieldOperand(closure, JSFunction::kCodeEntryOffset), entry); |
+ __ mov(ebx, entry); |
+ __ RecordWriteCodeEntryField(closure, ebx, eax); |
__ jmp(entry); |
__ bind(&gotta_call_runtime); |