Chromium Code Reviews| Index: runtime/vm/assembler_arm.cc |
| diff --git a/runtime/vm/assembler_arm.cc b/runtime/vm/assembler_arm.cc |
| index 31824b1a8484a323c3a1130b7da93fba372e11c3..2b59966978a8094e93ec5a930ba3796b87f4d89a 100644 |
| --- a/runtime/vm/assembler_arm.cc |
| +++ b/runtime/vm/assembler_arm.cc |
| @@ -1908,8 +1908,11 @@ void Assembler::StoreIntoObjectNoBarrierOffset(Register object, |
| StoreIntoObjectNoBarrier(object, FieldAddress(object, offset), value, |
| old_content); |
| } else { |
| - AddImmediate(IP, object, offset - kHeapObjectTag); |
| - StoreIntoObjectNoBarrier(object, Address(IP), value, old_content); |
| + ASSERT(object != R9); |
|
Florian Schneider
2015/11/04 20:58:01
Not sure if this is always guaranteed: I think you
|
| + Push(R9); |
| + AddImmediate(R9, object, offset - kHeapObjectTag); |
| + StoreIntoObjectNoBarrier(object, Address(R9), value, old_content); |
| + Pop(R9); |
| } |
| } |