| Index: runtime/vm/assembler_x64.cc
|
| diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc
|
| index 20153ad438ceca507c377ac0b4605406633e2cd4..a8ce3afbcf2780816af0884bd707035418ffebb2 100644
|
| --- a/runtime/vm/assembler_x64.cc
|
| +++ b/runtime/vm/assembler_x64.cc
|
| @@ -1594,11 +1594,9 @@ void Assembler::StoreIntoObjectFilter(Register object,
|
| void Assembler::StoreIntoObject(Register object,
|
| const FieldAddress& dest,
|
| Register value) {
|
| - // TODO(kmillikin): pass temp registers to avoid pushing registers.
|
| + ASSERT(object != value);
|
| movq(dest, value);
|
| -
|
| Label done;
|
| - pushq(value);
|
| StoreIntoObjectFilter(object, value, &done);
|
| // A store buffer update is required.
|
| if (value != RAX) pushq(RAX);
|
| @@ -1606,7 +1604,6 @@ void Assembler::StoreIntoObject(Register object,
|
| call(&StubCode::UpdateStoreBufferLabel());
|
| if (value != RAX) popq(RAX);
|
| Bind(&done);
|
| - popq(value);
|
| }
|
|
|
|
|
|
|