diff options
Diffstat (limited to 'deps/v8/src/mips64/codegen-mips64.cc')
-rw-r--r-- | deps/v8/src/mips64/codegen-mips64.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/deps/v8/src/mips64/codegen-mips64.cc b/deps/v8/src/mips64/codegen-mips64.cc index b29250653d..05a193c517 100644 --- a/deps/v8/src/mips64/codegen-mips64.cc +++ b/deps/v8/src/mips64/codegen-mips64.cc @@ -643,7 +643,7 @@ void ElementsTransitionGenerator::GenerateSmiToDouble( OMIT_SMI_CHECK); // Replace receiver's backing store with newly created FixedDoubleArray. __ Daddu(scratch1, array, Operand(kHeapObjectTag)); - __ sd(scratch1, FieldMemOperand(a2, JSObject::kElementsOffset)); + __ sd(scratch1, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ RecordWriteField(receiver, JSObject::kElementsOffset, scratch1, @@ -665,13 +665,15 @@ void ElementsTransitionGenerator::GenerateSmiToDouble( 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); __ sd(target_map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |