| 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();
|
|
|