| Index: runtime/vm/assembler_ia32.cc
|
| diff --git a/runtime/vm/assembler_ia32.cc b/runtime/vm/assembler_ia32.cc
|
| index dbba71ba15573a8d6a528d576e198817b8a2834a..807401c589f29d357eda86c58df69c4b60a17f2f 100644
|
| --- a/runtime/vm/assembler_ia32.cc
|
| +++ b/runtime/vm/assembler_ia32.cc
|
| @@ -1422,10 +1422,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);
|
| movl(dest, value);
|
| Label done;
|
| - pushl(value);
|
| StoreIntoObjectFilter(object, value, &done);
|
| // A store buffer update is required.
|
| if (value != EAX) pushl(EAX); // Preserve EAX.
|
| @@ -1433,7 +1432,6 @@ void Assembler::StoreIntoObject(Register object,
|
| call(&StubCode::UpdateStoreBufferLabel());
|
| if (value != EAX) popl(EAX); // Restore EAX.
|
| Bind(&done);
|
| - popl(value);
|
| }
|
|
|
|
|
|
|