OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_ | 5 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_ |
6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_ | 6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 V(ArgumentAdaptor) \ | 54 V(ArgumentAdaptor) \ |
55 V(ApiFunction) \ | 55 V(ApiFunction) \ |
56 V(ApiAccessor) \ | 56 V(ApiAccessor) \ |
57 V(ApiGetter) \ | 57 V(ApiGetter) \ |
58 V(ArgumentsAccessRead) \ | 58 V(ArgumentsAccessRead) \ |
59 V(StoreArrayLiteralElement) \ | 59 V(StoreArrayLiteralElement) \ |
60 V(MathPowTagged) \ | 60 V(MathPowTagged) \ |
61 V(MathPowInteger) \ | 61 V(MathPowInteger) \ |
62 V(ContextOnly) \ | 62 V(ContextOnly) \ |
63 V(GrowArrayElements) \ | 63 V(GrowArrayElements) \ |
64 V(MathRoundVariant) | 64 V(MathRoundVariantCallFromUnoptimizedCode) \ |
| 65 V(MathRoundVariantCallFromOptimizedCode) |
65 | 66 |
66 | 67 |
67 class CallInterfaceDescriptorData { | 68 class CallInterfaceDescriptorData { |
68 public: | 69 public: |
69 CallInterfaceDescriptorData() | 70 CallInterfaceDescriptorData() |
70 : stack_paramater_count_(-1), | 71 : stack_paramater_count_(-1), |
71 register_param_count_(-1), | 72 register_param_count_(-1), |
72 function_type_(nullptr) {} | 73 function_type_(nullptr) {} |
73 | 74 |
74 // A copy of the passed in registers and param_representations is made | 75 // A copy of the passed in registers and param_representations is made |
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 | 578 |
578 | 579 |
579 class MathPowIntegerDescriptor : public CallInterfaceDescriptor { | 580 class MathPowIntegerDescriptor : public CallInterfaceDescriptor { |
580 public: | 581 public: |
581 DECLARE_DESCRIPTOR(MathPowIntegerDescriptor, CallInterfaceDescriptor) | 582 DECLARE_DESCRIPTOR(MathPowIntegerDescriptor, CallInterfaceDescriptor) |
582 | 583 |
583 static const Register exponent(); | 584 static const Register exponent(); |
584 }; | 585 }; |
585 | 586 |
586 | 587 |
587 class MathRoundVariantDescriptor : public CallInterfaceDescriptor { | 588 class MathRoundVariantCallFromOptimizedCodeDescriptor |
| 589 : public CallInterfaceDescriptor { |
588 public: | 590 public: |
589 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(MathRoundVariantDescriptor, | 591 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( |
590 CallInterfaceDescriptor) | 592 MathRoundVariantCallFromOptimizedCodeDescriptor, CallInterfaceDescriptor) |
591 }; | 593 }; |
592 | 594 |
593 | 595 |
| 596 class MathRoundVariantCallFromUnoptimizedCodeDescriptor |
| 597 : public CallInterfaceDescriptor { |
| 598 public: |
| 599 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( |
| 600 MathRoundVariantCallFromUnoptimizedCodeDescriptor, |
| 601 CallInterfaceDescriptor) |
| 602 }; |
| 603 |
| 604 |
594 class ContextOnlyDescriptor : public CallInterfaceDescriptor { | 605 class ContextOnlyDescriptor : public CallInterfaceDescriptor { |
595 public: | 606 public: |
596 DECLARE_DESCRIPTOR(ContextOnlyDescriptor, CallInterfaceDescriptor) | 607 DECLARE_DESCRIPTOR(ContextOnlyDescriptor, CallInterfaceDescriptor) |
597 }; | 608 }; |
598 | 609 |
599 | 610 |
600 class GrowArrayElementsDescriptor : public CallInterfaceDescriptor { | 611 class GrowArrayElementsDescriptor : public CallInterfaceDescriptor { |
601 public: | 612 public: |
602 DECLARE_DESCRIPTOR(GrowArrayElementsDescriptor, CallInterfaceDescriptor) | 613 DECLARE_DESCRIPTOR(GrowArrayElementsDescriptor, CallInterfaceDescriptor) |
603 | 614 |
(...skipping 15 matching lines...) Expand all Loading... |
619 } // namespace v8::internal | 630 } // namespace v8::internal |
620 | 631 |
621 | 632 |
622 #if V8_TARGET_ARCH_ARM64 | 633 #if V8_TARGET_ARCH_ARM64 |
623 #include "src/arm64/interface-descriptors-arm64.h" | 634 #include "src/arm64/interface-descriptors-arm64.h" |
624 #elif V8_TARGET_ARCH_ARM | 635 #elif V8_TARGET_ARCH_ARM |
625 #include "src/arm/interface-descriptors-arm.h" | 636 #include "src/arm/interface-descriptors-arm.h" |
626 #endif | 637 #endif |
627 | 638 |
628 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 639 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |