| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/crankshaft/arm64/lithium-arm64.h" | 5 #include "src/crankshaft/arm64/lithium-arm64.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/crankshaft/arm64/lithium-codegen-arm64.h" | 9 #include "src/crankshaft/arm64/lithium-codegen-arm64.h" |
| 10 #include "src/crankshaft/hydrogen-osr.h" | 10 #include "src/crankshaft/hydrogen-osr.h" |
| (...skipping 2444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2455 } else { | 2455 } else { |
| 2456 LOperand* input = UseRegisterAtStart(instr->value()); | 2456 LOperand* input = UseRegisterAtStart(instr->value()); |
| 2457 LInstruction* result = DefineAsRegister(new(zone()) LMathAbs(input)); | 2457 LInstruction* result = DefineAsRegister(new(zone()) LMathAbs(input)); |
| 2458 if (!r.IsDouble()) result = AssignEnvironment(result); | 2458 if (!r.IsDouble()) result = AssignEnvironment(result); |
| 2459 return result; | 2459 return result; |
| 2460 } | 2460 } |
| 2461 } | 2461 } |
| 2462 case kMathExp: { | 2462 case kMathExp: { |
| 2463 DCHECK(instr->representation().IsDouble()); | 2463 DCHECK(instr->representation().IsDouble()); |
| 2464 DCHECK(instr->value()->representation().IsDouble()); | 2464 DCHECK(instr->value()->representation().IsDouble()); |
| 2465 LOperand* input = UseFixedDouble(instr->value(), d0); | 2465 LOperand* input = UseRegister(instr->value()); |
| 2466 LMathExp* result = new (zone()) LMathExp(input); | 2466 LOperand* double_temp1 = TempDoubleRegister(); |
| 2467 return MarkAsCall(DefineFixedDouble(result, d0), instr); | 2467 LOperand* temp1 = TempRegister(); |
| 2468 LOperand* temp2 = TempRegister(); |
| 2469 LOperand* temp3 = TempRegister(); |
| 2470 LMathExp* result = new(zone()) LMathExp(input, double_temp1, |
| 2471 temp1, temp2, temp3); |
| 2472 return DefineAsRegister(result); |
| 2468 } | 2473 } |
| 2469 case kMathFloor: { | 2474 case kMathFloor: { |
| 2470 DCHECK(instr->value()->representation().IsDouble()); | 2475 DCHECK(instr->value()->representation().IsDouble()); |
| 2471 LOperand* input = UseRegisterAtStart(instr->value()); | 2476 LOperand* input = UseRegisterAtStart(instr->value()); |
| 2472 if (instr->representation().IsInteger32()) { | 2477 if (instr->representation().IsInteger32()) { |
| 2473 LMathFloorI* result = new(zone()) LMathFloorI(input); | 2478 LMathFloorI* result = new(zone()) LMathFloorI(input); |
| 2474 return AssignEnvironment(AssignPointerMap(DefineAsRegister(result))); | 2479 return AssignEnvironment(AssignPointerMap(DefineAsRegister(result))); |
| 2475 } else { | 2480 } else { |
| 2476 DCHECK(instr->representation().IsDouble()); | 2481 DCHECK(instr->representation().IsDouble()); |
| 2477 LMathFloorD* result = new(zone()) LMathFloorD(input); | 2482 LMathFloorD* result = new(zone()) LMathFloorD(input); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2588 | 2593 |
| 2589 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2594 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
| 2590 LOperand* receiver = UseRegister(instr->receiver()); | 2595 LOperand* receiver = UseRegister(instr->receiver()); |
| 2591 LOperand* function = UseRegister(instr->function()); | 2596 LOperand* function = UseRegister(instr->function()); |
| 2592 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); | 2597 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); |
| 2593 return AssignEnvironment(DefineAsRegister(result)); | 2598 return AssignEnvironment(DefineAsRegister(result)); |
| 2594 } | 2599 } |
| 2595 | 2600 |
| 2596 } // namespace internal | 2601 } // namespace internal |
| 2597 } // namespace v8 | 2602 } // namespace v8 |
| OLD | NEW |