| Index: src/ic-inl.h
|
| diff --git a/src/ic-inl.h b/src/ic-inl.h
|
| index 7467881f6e4150819ebf64c1776212bd6ed3d507..6a86921a415759c40ee0eaf60ed882b62c1981be 100644
|
| --- a/src/ic-inl.h
|
| +++ b/src/ic-inl.h
|
| @@ -79,10 +79,10 @@ Code* IC::GetTargetAtAddress(Address address) {
|
|
|
| void IC::SetTargetAtAddress(Address address, Code* target) {
|
| ASSERT(target->is_inline_cache_stub() || target->is_compare_ic_stub());
|
| + Code* old_target = GetTargetAtAddress(address);
|
| #ifdef DEBUG
|
| // STORE_IC and KEYED_STORE_IC use Code::extra_ic_state() to mark
|
| // ICs as strict mode. The strict-ness of the IC must be preserved.
|
| - Code* old_target = GetTargetAtAddress(address);
|
| if (old_target->kind() == Code::STORE_IC ||
|
| old_target->kind() == Code::KEYED_STORE_IC) {
|
| ASSERT(Code::GetStrictMode(old_target->extra_ic_state()) ==
|
| @@ -92,7 +92,7 @@ void IC::SetTargetAtAddress(Address address, Code* target) {
|
| Assembler::set_target_address_at(address, target->instruction_start());
|
| target->GetHeap()->incremental_marking()->RecordCodeTargetPatch(address,
|
| target);
|
| - PostPatching();
|
| + PostPatching(address, target, old_target);
|
| }
|
|
|
|
|
|
|