Commit 76bc15b5 authored by paul.lind@imgtec.com's avatar paul.lind@imgtec.com

MIPS64: Fix bug in super assignment from r24570.

TEST=mjsunit/harmony/super.js
BUG=
R=akos.palfi@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24889}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent f5357637
...@@ -2523,10 +2523,10 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) { ...@@ -2523,10 +2523,10 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) {
Register scratch = a2; Register scratch = a2;
Register scratch2 = a3; Register scratch2 = a3;
__ mov(scratch, result_register()); // home_object __ mov(scratch, result_register()); // home_object
__ lw(v0, MemOperand(sp, kPointerSize)); // value __ ld(v0, MemOperand(sp, kPointerSize)); // value
__ lw(scratch2, MemOperand(sp, 0)); // this __ ld(scratch2, MemOperand(sp, 0)); // this
__ sw(scratch2, MemOperand(sp, kPointerSize)); // this __ sd(scratch2, MemOperand(sp, kPointerSize)); // this
__ sw(scratch, MemOperand(sp, 0)); // home_object __ sd(scratch, MemOperand(sp, 0)); // home_object
// stack: this, home_object; v0: value // stack: this, home_object; v0: value
EmitNamedSuperPropertyStore(prop); EmitNamedSuperPropertyStore(prop);
break; break;
...@@ -2539,13 +2539,13 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) { ...@@ -2539,13 +2539,13 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) {
VisitForAccumulatorValue(prop->key()); VisitForAccumulatorValue(prop->key());
Register scratch = a2; Register scratch = a2;
Register scratch2 = a3; Register scratch2 = a3;
__ lw(scratch2, MemOperand(sp, 2 * kPointerSize)); // value __ ld(scratch2, MemOperand(sp, 2 * kPointerSize)); // value
// stack: value, this, home_object; v0: key, a3: value // stack: value, this, home_object; v0: key, a3: value
__ lw(scratch, MemOperand(sp, kPointerSize)); // this __ ld(scratch, MemOperand(sp, kPointerSize)); // this
__ sw(scratch, MemOperand(sp, 2 * kPointerSize)); __ sd(scratch, MemOperand(sp, 2 * kPointerSize));
__ lw(scratch, MemOperand(sp, 0)); // home_object __ ld(scratch, MemOperand(sp, 0)); // home_object
__ sw(scratch, MemOperand(sp, kPointerSize)); __ sd(scratch, MemOperand(sp, kPointerSize));
__ sw(v0, MemOperand(sp, 0)); __ sd(v0, MemOperand(sp, 0));
__ Move(v0, scratch2); __ Move(v0, scratch2);
// stack: this, home_object, key; v0: value. // stack: this, home_object, key; v0: value.
EmitKeyedSuperPropertyStore(prop); EmitKeyedSuperPropertyStore(prop);
......
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