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 <memory> |
| 9 |
8 #include "src/assembler.h" | 10 #include "src/assembler.h" |
9 #include "src/macro-assembler.h" | 11 #include "src/macro-assembler.h" |
10 | 12 |
11 namespace v8 { | 13 namespace v8 { |
12 namespace internal { | 14 namespace internal { |
13 | 15 |
14 class PlatformInterfaceDescriptor; | 16 class PlatformInterfaceDescriptor; |
15 | 17 |
16 #define INTERFACE_DESCRIPTOR_LIST(V) \ | 18 #define INTERFACE_DESCRIPTOR_LIST(V) \ |
17 V(Void) \ | 19 V(Void) \ |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 | 135 |
134 FunctionType* function_type() const { return function_type_; } | 136 FunctionType* function_type() const { return function_type_; } |
135 | 137 |
136 private: | 138 private: |
137 int register_param_count_; | 139 int register_param_count_; |
138 | 140 |
139 // The Register params are allocated dynamically by the | 141 // The Register params are allocated dynamically by the |
140 // InterfaceDescriptor, and freed on destruction. This is because static | 142 // InterfaceDescriptor, and freed on destruction. This is because static |
141 // arrays of Registers cause creation of runtime static initializers | 143 // arrays of Registers cause creation of runtime static initializers |
142 // which we don't want. | 144 // which we don't want. |
143 base::SmartArrayPointer<Register> register_params_; | 145 std::unique_ptr<Register[]> register_params_; |
144 | 146 |
145 // Specifies types for parameters and return | 147 // Specifies types for parameters and return |
146 FunctionType* function_type_; | 148 FunctionType* function_type_; |
147 | 149 |
148 PlatformInterfaceDescriptor* platform_specific_descriptor_; | 150 PlatformInterfaceDescriptor* platform_specific_descriptor_; |
149 | 151 |
150 DISALLOW_COPY_AND_ASSIGN(CallInterfaceDescriptorData); | 152 DISALLOW_COPY_AND_ASSIGN(CallInterfaceDescriptorData); |
151 }; | 153 }; |
152 | 154 |
153 | 155 |
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 } // namespace v8 | 944 } // namespace v8 |
943 | 945 |
944 | 946 |
945 #if V8_TARGET_ARCH_ARM64 | 947 #if V8_TARGET_ARCH_ARM64 |
946 #include "src/arm64/interface-descriptors-arm64.h" | 948 #include "src/arm64/interface-descriptors-arm64.h" |
947 #elif V8_TARGET_ARCH_ARM | 949 #elif V8_TARGET_ARCH_ARM |
948 #include "src/arm/interface-descriptors-arm.h" | 950 #include "src/arm/interface-descriptors-arm.h" |
949 #endif | 951 #endif |
950 | 952 |
951 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 953 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |