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 2441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2452 LInstruction* result = DefineAsRegister( | 2452 LInstruction* result = DefineAsRegister( |
2453 new(zone()) LMathAbsTagged(context, input, temp1, temp2, temp3)); | 2453 new(zone()) LMathAbsTagged(context, input, temp1, temp2, temp3)); |
2454 return AssignEnvironment(AssignPointerMap(result)); | 2454 return AssignEnvironment(AssignPointerMap(result)); |
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 kMathCos: { |
| 2463 DCHECK(instr->representation().IsDouble()); |
| 2464 DCHECK(instr->value()->representation().IsDouble()); |
| 2465 LOperand* input = UseFixedDouble(instr->value(), d0); |
| 2466 LMathCos* result = new (zone()) LMathCos(input); |
| 2467 return MarkAsCall(DefineFixedDouble(result, d0), instr); |
| 2468 } |
| 2469 case kMathSin: { |
| 2470 DCHECK(instr->representation().IsDouble()); |
| 2471 DCHECK(instr->value()->representation().IsDouble()); |
| 2472 LOperand* input = UseFixedDouble(instr->value(), d0); |
| 2473 LMathSin* result = new (zone()) LMathSin(input); |
| 2474 return MarkAsCall(DefineFixedDouble(result, d0), instr); |
| 2475 } |
2462 case kMathExp: { | 2476 case kMathExp: { |
2463 DCHECK(instr->representation().IsDouble()); | 2477 DCHECK(instr->representation().IsDouble()); |
2464 DCHECK(instr->value()->representation().IsDouble()); | 2478 DCHECK(instr->value()->representation().IsDouble()); |
2465 LOperand* input = UseFixedDouble(instr->value(), d0); | 2479 LOperand* input = UseFixedDouble(instr->value(), d0); |
2466 LMathExp* result = new (zone()) LMathExp(input); | 2480 LMathExp* result = new (zone()) LMathExp(input); |
2467 return MarkAsCall(DefineFixedDouble(result, d0), instr); | 2481 return MarkAsCall(DefineFixedDouble(result, d0), instr); |
2468 } | 2482 } |
2469 case kMathFloor: { | 2483 case kMathFloor: { |
2470 DCHECK(instr->value()->representation().IsDouble()); | 2484 DCHECK(instr->value()->representation().IsDouble()); |
2471 LOperand* input = UseRegisterAtStart(instr->value()); | 2485 LOperand* input = UseRegisterAtStart(instr->value()); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2588 | 2602 |
2589 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2603 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
2590 LOperand* receiver = UseRegister(instr->receiver()); | 2604 LOperand* receiver = UseRegister(instr->receiver()); |
2591 LOperand* function = UseRegister(instr->function()); | 2605 LOperand* function = UseRegister(instr->function()); |
2592 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); | 2606 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); |
2593 return AssignEnvironment(DefineAsRegister(result)); | 2607 return AssignEnvironment(DefineAsRegister(result)); |
2594 } | 2608 } |
2595 | 2609 |
2596 } // namespace internal | 2610 } // namespace internal |
2597 } // namespace v8 | 2611 } // namespace v8 |
OLD | NEW |