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 206 matching lines...) Loading... |
217 } \ | 217 } \ |
218 \ | 218 \ |
219 protected: \ | 219 protected: \ |
220 void InitializePlatformSpecific(CallInterfaceDescriptorData* data) override; \ | 220 void InitializePlatformSpecific(CallInterfaceDescriptorData* data) override; \ |
221 name(Isolate* isolate, CallDescriptors::Key key) : base(isolate, key) {} \ | 221 name(Isolate* isolate, CallDescriptors::Key key) : base(isolate, key) {} \ |
222 \ | 222 \ |
223 public: \ | 223 public: \ |
224 static inline CallDescriptors::Key key(); | 224 static inline CallDescriptors::Key key(); |
225 | 225 |
226 | 226 |
227 #define DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(name, base) \ | 227 #define DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(name, base) \ |
228 DECLARE_DESCRIPTOR(name, base) \ | 228 DECLARE_DESCRIPTOR(name, base) \ |
229 protected: \ | 229 protected: \ |
230 virtual Type::FunctionType* BuildCallInterfaceDescriptorFunctionType( \ | 230 Type::FunctionType* BuildCallInterfaceDescriptorFunctionType( \ |
231 Isolate* isolate, int register_param_count) override; \ | 231 Isolate* isolate, int register_param_count) override; \ |
232 \ | 232 \ |
233 public: | 233 public: |
234 // LoadDescriptor is used by all stubs that implement Load/KeyedLoad ICs. | 234 // LoadDescriptor is used by all stubs that implement Load/KeyedLoad ICs. |
235 class LoadDescriptor : public CallInterfaceDescriptor { | 235 class LoadDescriptor : public CallInterfaceDescriptor { |
236 public: | 236 public: |
237 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadDescriptor, | 237 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadDescriptor, |
238 CallInterfaceDescriptor) | 238 CallInterfaceDescriptor) |
239 | 239 |
240 enum ParameterIndices { kReceiverIndex, kNameIndex, kSlotIndex }; | 240 enum ParameterIndices { kReceiverIndex, kNameIndex, kSlotIndex }; |
241 static const Register ReceiverRegister(); | 241 static const Register ReceiverRegister(); |
242 static const Register NameRegister(); | 242 static const Register NameRegister(); |
(...skipping 527 matching lines...) Loading... |
770 } // namespace v8 | 770 } // namespace v8 |
771 | 771 |
772 | 772 |
773 #if V8_TARGET_ARCH_ARM64 | 773 #if V8_TARGET_ARCH_ARM64 |
774 #include "src/arm64/interface-descriptors-arm64.h" | 774 #include "src/arm64/interface-descriptors-arm64.h" |
775 #elif V8_TARGET_ARCH_ARM | 775 #elif V8_TARGET_ARCH_ARM |
776 #include "src/arm/interface-descriptors-arm.h" | 776 #include "src/arm/interface-descriptors-arm.h" |
777 #endif | 777 #endif |
778 | 778 |
779 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 779 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |