Index: src/mips64/lithium-codegen-mips64.cc |
diff --git a/src/mips64/lithium-codegen-mips64.cc b/src/mips64/lithium-codegen-mips64.cc |
index bb256bff3cf89cb0bdfa30fc6583438eb2a60ec8..6447dced3fb28af800d36b609c43a2ac287b92c8 100644 |
--- a/src/mips64/lithium-codegen-mips64.cc |
+++ b/src/mips64/lithium-codegen-mips64.cc |
@@ -2363,9 +2363,8 @@ void LCodeGen::DoCmpHoleAndBranch(LCmpHoleAndBranch* instr) { |
Register scratch = scratch0(); |
__ FmoveHigh(scratch, input_reg); |
- __ dsll32(scratch, scratch, 0); // FmoveHigh (mfhc1) sign-extends. |
- __ dsrl32(scratch, scratch, 0); // Use only low 32-bits. |
- EmitBranch(instr, eq, scratch, Operand(kHoleNanUpper32)); |
+ EmitBranch(instr, eq, scratch, |
+ Operand(static_cast<int32_t>(kHoleNanUpper32))); |
paul.l...
2015/02/25 16:21:38
this looks like nice solution to remove some instr
|
} |
@@ -3280,9 +3279,9 @@ void LCodeGen::DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr) { |
__ ldc1(result, MemOperand(scratch)); |
if (instr->hydrogen()->RequiresHoleCheck()) { |
- __ lwu(scratch, MemOperand(scratch, sizeof(kHoleNanLower32))); |
+ __ FmoveHigh(scratch, result); |
DeoptimizeIf(eq, instr, Deoptimizer::kHole, scratch, |
- Operand(kHoleNanUpper32)); |
+ Operand(static_cast<int32_t>(kHoleNanUpper32))); |
} |
} |