| Index: src/a64/lithium-a64.cc
|
| diff --git a/src/a64/lithium-a64.cc b/src/a64/lithium-a64.cc
|
| index cc785dde53212b25b4aa3f0bda4d1d0a849172d5..1c3b24eba81c6576f08ef3db005e81639bdb269d 100644
|
| --- a/src/a64/lithium-a64.cc
|
| +++ b/src/a64/lithium-a64.cc
|
| @@ -1176,12 +1176,8 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoCheckValue(HCheckValue* instr) {
|
| - // We only need a temp register if the target is in new space, but we can't
|
| - // dereference the handle to test that here.
|
| - // TODO(all): Check these constraints. The temp register is not always used.
|
| - LOperand* value = UseRegister(instr->value());
|
| - LOperand* temp = TempRegister();
|
| - return AssignEnvironment(new(zone()) LCheckValue(value, temp));
|
| + LOperand* value = UseRegisterAtStart(instr->value());
|
| + return AssignEnvironment(new(zone()) LCheckValue(value));
|
| }
|
|
|
|
|
| @@ -2292,7 +2288,6 @@ LInstruction* LChunkBuilder::DoStringCharCodeAt(HStringCharCodeAt* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoStringCharFromCode(HStringCharFromCode* instr) {
|
| - // TODO(all) use at start and remove assert in codegen
|
| LOperand* char_code = UseRegister(instr->value());
|
| LOperand* context = UseAny(instr->context());
|
| LStringCharFromCode* result =
|
| @@ -2320,7 +2315,7 @@ LInstruction* LChunkBuilder::DoSub(HSub* instr) {
|
| ASSERT(instr->right()->representation().Equals(instr->representation()));
|
| LOperand *left;
|
| if (instr->left()->IsConstant() &&
|
| - (HConstant::cast(instr->left())->Integer32Value() == 0)) {
|
| + (HConstant::cast(instr->left())->Integer32Value() == 0)) {
|
| left = UseConstant(instr->left());
|
| } else {
|
| left = UseRegisterAtStart(instr->left());
|
|
|