MIPS: Fix global object loading in DoWrapReceiver.
authorpalfia@homejinni.com <palfia@homejinni.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 28 Jan 2014 20:26:53 +0000 (20:26 +0000)
committerpalfia@homejinni.com <palfia@homejinni.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 28 Jan 2014 20:26:53 +0000 (20:26 +0000)
This commit fixes the global object loading to load the result into the "result" register instead of the "receiver" register.

TEST=mjsunit/compiler/regress-arguments
BUG=
R=plind44@gmail.com, verwaest@chromium.org

Review URL: https://codereview.chromium.org/132633005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/mips/lithium-codegen-mips.cc

index c9ef64d..94550a1 100644 (file)
@@ -3394,11 +3394,11 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
   __ Branch(&result_in_receiver);
 
   __ bind(&global_object);
-  __ lw(receiver, FieldMemOperand(function, JSFunction::kContextOffset));
-  __ lw(receiver,
-        ContextOperand(receiver, Context::GLOBAL_OBJECT_INDEX));
-  __ lw(receiver,
-        FieldMemOperand(receiver, GlobalObject::kGlobalReceiverOffset));
+  __ lw(result, FieldMemOperand(function, JSFunction::kContextOffset));
+  __ lw(result,
+        ContextOperand(result, Context::GLOBAL_OBJECT_INDEX));
+  __ lw(result,
+        FieldMemOperand(result, GlobalObject::kGlobalReceiverOffset));
 
   if (result.is(receiver)) {
     __ bind(&result_in_receiver);