| Index: runtime/vm/flow_graph_compiler_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_ia32.cc (revision 12183)
|
| +++ runtime/vm/flow_graph_compiler_ia32.cc (working copy)
|
| @@ -1351,10 +1351,14 @@
|
|
|
| void ParallelMoveResolver::StoreObject(const Address& dst, const Object& obj) {
|
| // TODO(vegorov): allocate temporary register for such moves.
|
| - __ pushl(EAX);
|
| - __ LoadObject(EAX, obj);
|
| - __ movl(dst, EAX);
|
| - __ popl(EAX);
|
| + if (obj.IsSmi() || obj.IsNull()) {
|
| + __ movl(dst, Immediate(reinterpret_cast<int32_t>(obj.raw())));
|
| + } else {
|
| + __ pushl(EAX);
|
| + __ LoadObject(EAX, obj);
|
| + __ movl(dst, EAX);
|
| + __ popl(EAX);
|
| + }
|
| }
|
|
|
|
|
|
|