aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/mips/codegen-mips.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/mips/codegen-mips.cc')
-rw-r--r--deps/v8/src/mips/codegen-mips.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/deps/v8/src/mips/codegen-mips.cc b/deps/v8/src/mips/codegen-mips.cc
index fbd4044316..a04b8cb0e7 100644
--- a/deps/v8/src/mips/codegen-mips.cc
+++ b/deps/v8/src/mips/codegen-mips.cc
@@ -750,7 +750,7 @@ void ElementsTransitionGenerator::GenerateSmiToDouble(
OMIT_SMI_CHECK);
// Replace receiver's backing store with newly created FixedDoubleArray.
__ Addu(scratch1, array, Operand(kHeapObjectTag));
- __ sw(scratch1, FieldMemOperand(a2, JSObject::kElementsOffset));
+ __ sw(scratch1, FieldMemOperand(receiver, JSObject::kElementsOffset));
__ RecordWriteField(receiver,
JSObject::kElementsOffset,
scratch1,
@@ -771,15 +771,16 @@ void ElementsTransitionGenerator::GenerateSmiToDouble(
// Repurpose registers no longer in use.
Register hole_lower = elements;
Register hole_upper = length;
-
__ li(hole_lower, Operand(kHoleNanLower32));
+ __ li(hole_upper, Operand(kHoleNanUpper32));
+
// scratch1: begin of source FixedArray element fields, not tagged
// hole_lower: kHoleNanLower32
// hole_upper: kHoleNanUpper32
// array_end: end of destination FixedDoubleArray, not tagged
// scratch3: begin of FixedDoubleArray element fields, not tagged
- __ Branch(USE_DELAY_SLOT, &entry);
- __ li(hole_upper, Operand(kHoleNanUpper32)); // In delay slot.
+
+ __ Branch(&entry);
__ bind(&only_change_map);
__ sw(target_map, FieldMemOperand(receiver, HeapObject::kMapOffset));
@@ -826,9 +827,9 @@ void ElementsTransitionGenerator::GenerateSmiToDouble(
__ sw(hole_lower, MemOperand(scratch3, Register::kMantissaOffset));
// exponent
__ sw(hole_upper, MemOperand(scratch3, Register::kExponentOffset));
- __ bind(&entry);
__ addiu(scratch3, scratch3, kDoubleSize);
+ __ bind(&entry);
__ Branch(&loop, lt, scratch3, Operand(array_end));
__ bind(&done);