Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 0b8f97b416ad2ab5a1c5d3ba58a2f40d546f2aa9..59a8804a185d3485266ec76d53ff9a0e4244bf94 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -4310,7 +4310,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: |
@@ -4333,7 +4335,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: |
@@ -4353,9 +4357,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()); |
DoubleRegister dbl_scratch = double_scratch0(); |
SwVfpRegister flt_scratch = dbl_scratch.low(); |