Index: src/mips64/macro-assembler-mips64.cc |
diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc |
index bc935326cfe1aac1e816742154a45e0bcc0aeca6..42898c94815b12b1e9bb256ab2918c978f0a8d3b 100644 |
--- a/src/mips64/macro-assembler-mips64.cc |
+++ b/src/mips64/macro-assembler-mips64.cc |
@@ -3884,13 +3884,14 @@ void MacroAssembler::StoreNumberToDoubleElements(Register value_reg, |
DoubleRegister double_scratch = f2; |
ldc1(double_result, FieldMemOperand(value_reg, HeapNumber::kValueOffset)); |
+ Branch(USE_DELAY_SLOT, &done); // Canonicalization is one instruction. |
FPUCanonicalizeNaN(double_result, double_result); |
- Branch(&done); |
bind(&smi_value); |
// scratch1 is now effective address of the double element. |
paul.l...
2015/02/25 16:21:38
nit: It looks like this comment is now stale - scr
|
// Untag and transfer. |
- mthc1(value_reg, double_scratch); |
+ dsrl32(at, value_reg, 0); |
+ mtc1(at, double_scratch); |
cvt_d_w(double_result, double_scratch); |
bind(&done); |