Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index e373c9ab18e3db3642309e67416d0bd98dec9bf7..3c376cec238fe2cd595eeabc9354cb6d037f95a2 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -4084,7 +4084,9 @@ void LCodeGen::DoNumberTagI(LNumberTagI* instr) { |
DeferredNumberTagI(LCodeGen* codegen, LNumberTagI* instr) |
: LDeferredCode(codegen), instr_(instr) { } |
virtual void Generate() { |
- codegen()->DoDeferredNumberTagI(instr_, SIGNED_INT32); |
+ codegen()->DoDeferredNumberTagI(instr_, |
+ instr_->InputAt(0), |
+ SIGNED_INT32); |
} |
virtual LInstruction* instr() { return instr_; } |
private: |
@@ -4108,7 +4110,9 @@ void LCodeGen::DoNumberTagU(LNumberTagU* instr) { |
DeferredNumberTagU(LCodeGen* codegen, LNumberTagU* instr) |
: LDeferredCode(codegen), instr_(instr) { } |
virtual void Generate() { |
- codegen()->DoDeferredNumberTagI(instr_, UNSIGNED_INT32); |
+ codegen()->DoDeferredNumberTagI(instr_, |
+ instr_->InputAt(0), |
+ UNSIGNED_INT32); |
} |
virtual LInstruction* instr() { return instr_; } |
private: |
@@ -4127,9 +4131,10 @@ void LCodeGen::DoNumberTagU(LNumberTagU* instr) { |
void LCodeGen::DoDeferredNumberTagI(LInstruction* instr, |
+ LOperand* value, |
IntegerSignedness signedness) { |
Label slow; |
- Register src = ToRegister(instr->InputAt(0)); |
+ Register src = ToRegister(value); |
Register dst = ToRegister(instr->result()); |
FPURegister dbl_scratch = double_scratch0(); |