| Index: src/ia32/deoptimizer-ia32.cc
|
| diff --git a/src/ia32/deoptimizer-ia32.cc b/src/ia32/deoptimizer-ia32.cc
|
| index b1fb35bfa9e485b50eae865b31976866315124c3..755f9b0b5162b795c9af325747f08c44da3e2a70 100644
|
| --- a/src/ia32/deoptimizer-ia32.cc
|
| +++ b/src/ia32/deoptimizer-ia32.cc
|
| @@ -252,10 +252,12 @@ void Deoptimizer::PatchStackCheckCodeAt(Code* unoptimized_code,
|
| Assembler::set_target_address_at(call_target_address,
|
| replacement_code->entry());
|
|
|
| - // TODO(1550) We are passing NULL as a slot because code can never be on
|
| - // evacuation candidate.
|
| - unoptimized_code->GetHeap()->incremental_marking()->RecordWrite(
|
| - unoptimized_code, NULL, replacement_code);
|
| + RelocInfo rinfo(call_target_address,
|
| + RelocInfo::CODE_TARGET,
|
| + NULL,
|
| + unoptimized_code);
|
| + unoptimized_code->GetHeap()->incremental_marking()->RecordWriteIntoCode(
|
| + unoptimized_code, &rinfo, replacement_code);
|
| }
|
|
|
|
|
| @@ -274,7 +276,9 @@ void Deoptimizer::RevertStackCheckCodeAt(Address pc_after,
|
| *(call_target_address - 2) = 0x07; // offset
|
| Assembler::set_target_address_at(call_target_address,
|
| check_code->entry());
|
| - check_code->GetHeap()->incremental_marking()->RecordWriteOf(check_code);
|
| +
|
| + check_code->GetHeap()->incremental_marking()->
|
| + RecordCodeTargetPatch(call_target_address, check_code);
|
| }
|
|
|
|
|
|
|