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); |
} |