| 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);
|
| }
|
|
|
|
|
|
|