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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/arm64/lithium-arm64.h" | 7 #include "src/arm64/lithium-arm64.h" |
8 #include "src/arm64/lithium-codegen-arm64.h" | 8 #include "src/arm64/lithium-codegen-arm64.h" |
9 #include "src/hydrogen-osr.h" | 9 #include "src/hydrogen-osr.h" |
10 #include "src/lithium-allocator-inl.h" | 10 #include "src/lithium-allocator-inl.h" |
(...skipping 2630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2641 if (instr->representation().IsInteger32()) { | 2641 if (instr->representation().IsInteger32()) { |
2642 LOperand* temp = TempDoubleRegister(); | 2642 LOperand* temp = TempDoubleRegister(); |
2643 LMathRoundI* result = new(zone()) LMathRoundI(input, temp); | 2643 LMathRoundI* result = new(zone()) LMathRoundI(input, temp); |
2644 return AssignEnvironment(DefineAsRegister(result)); | 2644 return AssignEnvironment(DefineAsRegister(result)); |
2645 } else { | 2645 } else { |
2646 ASSERT(instr->representation().IsDouble()); | 2646 ASSERT(instr->representation().IsDouble()); |
2647 LMathRoundD* result = new(zone()) LMathRoundD(input); | 2647 LMathRoundD* result = new(zone()) LMathRoundD(input); |
2648 return DefineAsRegister(result); | 2648 return DefineAsRegister(result); |
2649 } | 2649 } |
2650 } | 2650 } |
| 2651 case kMathFround: { |
| 2652 ASSERT(instr->value()->representation().IsDouble()); |
| 2653 LOperand* input = UseRegister(instr->value()); |
| 2654 LMathFround* result = new (zone()) LMathFround(input); |
| 2655 return DefineAsRegister(result); |
| 2656 } |
2651 case kMathSqrt: { | 2657 case kMathSqrt: { |
2652 ASSERT(instr->representation().IsDouble()); | 2658 ASSERT(instr->representation().IsDouble()); |
2653 ASSERT(instr->value()->representation().IsDouble()); | 2659 ASSERT(instr->value()->representation().IsDouble()); |
2654 LOperand* input = UseRegisterAtStart(instr->value()); | 2660 LOperand* input = UseRegisterAtStart(instr->value()); |
2655 return DefineAsRegister(new(zone()) LMathSqrt(input)); | 2661 return DefineAsRegister(new(zone()) LMathSqrt(input)); |
2656 } | 2662 } |
2657 case kMathClz32: { | 2663 case kMathClz32: { |
2658 ASSERT(instr->representation().IsInteger32()); | 2664 ASSERT(instr->representation().IsInteger32()); |
2659 ASSERT(instr->value()->representation().IsInteger32()); | 2665 ASSERT(instr->value()->representation().IsInteger32()); |
2660 LOperand* input = UseRegisterAtStart(instr->value()); | 2666 LOperand* input = UseRegisterAtStart(instr->value()); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2741 HAllocateBlockContext* instr) { | 2747 HAllocateBlockContext* instr) { |
2742 LOperand* context = UseFixed(instr->context(), cp); | 2748 LOperand* context = UseFixed(instr->context(), cp); |
2743 LOperand* function = UseRegisterAtStart(instr->function()); | 2749 LOperand* function = UseRegisterAtStart(instr->function()); |
2744 LAllocateBlockContext* result = | 2750 LAllocateBlockContext* result = |
2745 new(zone()) LAllocateBlockContext(context, function); | 2751 new(zone()) LAllocateBlockContext(context, function); |
2746 return MarkAsCall(DefineFixed(result, cp), instr); | 2752 return MarkAsCall(DefineFixed(result, cp), instr); |
2747 } | 2753 } |
2748 | 2754 |
2749 | 2755 |
2750 } } // namespace v8::internal | 2756 } } // namespace v8::internal |
OLD | NEW |