Index: src/arm/lithium-arm.cc |
=================================================================== |
--- src/arm/lithium-arm.cc (revision 10428) |
+++ src/arm/lithium-arm.cc (working copy) |
@@ -1625,11 +1625,11 @@ |
return AssignEnvironment(DefineAsRegister(res)); |
} else { |
ASSERT(to.IsInteger32()); |
- LOperand* value = UseRegister(instr->value()); |
+ LOperand* value = UseRegisterAtStart(instr->value()); |
bool needs_check = !instr->value()->type().IsSmi(); |
LInstruction* res = NULL; |
if (!needs_check) { |
- res = DefineSameAsFirst(new LSmiUntag(value, needs_check)); |
+ res = DefineAsRegister(new LSmiUntag(value, needs_check)); |
} else { |
LOperand* temp1 = TempRegister(); |
LOperand* temp2 = instr->CanTruncateToInt32() ? TempRegister() |
@@ -1665,12 +1665,12 @@ |
} else if (from.IsInteger32()) { |
if (to.IsTagged()) { |
HValue* val = instr->value(); |
- LOperand* value = UseRegister(val); |
+ LOperand* value = UseRegisterAtStart(val); |
if (val->HasRange() && val->range()->IsInSmiRange()) { |
- return DefineSameAsFirst(new LSmiTag(value)); |
+ return DefineAsRegister(new LSmiTag(value)); |
} else { |
LNumberTagI* result = new LNumberTagI(value); |
- return AssignEnvironment(AssignPointerMap(DefineSameAsFirst(result))); |
+ return AssignEnvironment(AssignPointerMap(DefineAsRegister(result))); |
} |
} else { |
ASSERT(to.IsDouble()); |