Chromium Code Reviews| Index: runtime/vm/assembler_x64.cc |
| =================================================================== |
| --- runtime/vm/assembler_x64.cc (revision 33759) |
| +++ runtime/vm/assembler_x64.cc (working copy) |
| @@ -2555,9 +2555,9 @@ |
| void Assembler::CompareObject(Register reg, const Object& object, Register pp) { |
| if (CanLoadFromObjectPool(object)) { |
| - ASSERT(reg != TMP); |
| - LoadObject(TMP, object, pp); |
| - cmpq(reg, TMP); |
| + const int32_t offset = |
| + Array::element_offset(FindObject(object, kNotPatchable)); |
| + cmpq(reg, Address::AddressBaseImm32(pp, offset - kHeapObjectTag)); |
|
zra
2014/03/17 19:29:58
AddressBaseImm32 emits a fixed-size constant for t
srdjan
2014/03/17 19:54:32
Done.
|
| } else { |
| CompareImmediate( |
| reg, Immediate(reinterpret_cast<int64_t>(object.raw())), pp); |