Index: src/ia32/deoptimizer-ia32.cc |
diff --git a/src/ia32/deoptimizer-ia32.cc b/src/ia32/deoptimizer-ia32.cc |
index 322993ee61fcbe35077bc224ab9ae5933bd9ddd2..7e299ae1c2be892e3522424cf8f48c30c9ed59a6 100644 |
--- a/src/ia32/deoptimizer-ia32.cc |
+++ b/src/ia32/deoptimizer-ia32.cc |
@@ -136,7 +136,8 @@ void Deoptimizer::DeoptimizeFunction(JSFunction* function) { |
} |
-void Deoptimizer::PatchStackCheckCodeAt(Address pc_after, |
+void Deoptimizer::PatchStackCheckCodeAt(Code* code, |
+ Address pc_after, |
Code* check_code, |
Code* replacement_code) { |
Address call_target_address = pc_after - kIntSize; |
@@ -165,6 +166,7 @@ void Deoptimizer::PatchStackCheckCodeAt(Address pc_after, |
*(call_target_address - 2) = 0x90; // nop |
Assembler::set_target_address_at(call_target_address, |
replacement_code->entry()); |
+ IncrementalMarking::RecordWrite(code, replacement_code); |
} |
@@ -183,6 +185,7 @@ void Deoptimizer::RevertStackCheckCodeAt(Address pc_after, |
*(call_target_address - 2) = 0x07; // offset |
Assembler::set_target_address_at(call_target_address, |
check_code->entry()); |
+ IncrementalMarking::RecordWriteOf(check_code); |
} |