| Index: src/arm/deoptimizer-arm.cc
 | 
| ===================================================================
 | 
| --- src/arm/deoptimizer-arm.cc	(revision 9327)
 | 
| +++ src/arm/deoptimizer-arm.cc	(working copy)
 | 
| @@ -134,7 +134,8 @@
 | 
|  }
 | 
|  
 | 
|  
 | 
| -void Deoptimizer::PatchStackCheckCodeAt(Address pc_after,
 | 
| +void Deoptimizer::PatchStackCheckCodeAt(Code* unoptimized_code,
 | 
| +                                        Address pc_after,
 | 
|                                          Code* check_code,
 | 
|                                          Code* replacement_code) {
 | 
|    const int kInstrSize = Assembler::kInstrSize;
 | 
| @@ -169,6 +170,13 @@
 | 
|           reinterpret_cast<uint32_t>(check_code->entry()));
 | 
|    Memory::uint32_at(stack_check_address_pointer) =
 | 
|        reinterpret_cast<uint32_t>(replacement_code->entry());
 | 
| +
 | 
| +  RelocInfo rinfo(pc_after - 2 * kInstrSize,
 | 
| +                  RelocInfo::CODE_TARGET,
 | 
| +                  NULL,
 | 
| +                  unoptimized_code);
 | 
| +  unoptimized_code->GetHeap()->incremental_marking()->RecordWriteIntoCode(
 | 
| +      unoptimized_code, &rinfo, replacement_code);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -193,6 +201,9 @@
 | 
|           reinterpret_cast<uint32_t>(replacement_code->entry()));
 | 
|    Memory::uint32_at(stack_check_address_pointer) =
 | 
|        reinterpret_cast<uint32_t>(check_code->entry());
 | 
| +
 | 
| +  check_code->GetHeap()->incremental_marking()->
 | 
| +      RecordCodeTargetPatch(pc_after - 2 * kInstrSize, check_code);
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |