Commit 206a3576 authored by verwaest@chromium.org's avatar verwaest@chromium.org

Fix DeferredInstanceMigration to store the result to temp rather than temp to result.

Thanks to Akos Palfi for finding the bug.

BUG=
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22388002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent e0634343
...@@ -5219,7 +5219,7 @@ void LCodeGen::DoDeferredInstanceMigration(LCheckMaps* instr, Register object) { ...@@ -5219,7 +5219,7 @@ void LCodeGen::DoDeferredInstanceMigration(LCheckMaps* instr, Register object) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
__ push(object); __ push(object);
CallRuntimeFromDeferred(Runtime::kMigrateInstance, 1, instr); CallRuntimeFromDeferred(Runtime::kMigrateInstance, 1, instr);
__ StoreToSafepointRegisterSlot(scratch0(), r0); __ StoreToSafepointRegisterSlot(r0, scratch0());
} }
__ tst(scratch0(), Operand(kSmiTagMask)); __ tst(scratch0(), Operand(kSmiTagMask));
DeoptimizeIf(eq, instr->environment()); DeoptimizeIf(eq, instr->environment());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment