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 |
11 namespace v8 { | 11 namespace v8 { |
12 namespace internal { | 12 namespace internal { |
13 | 13 |
14 class PlatformInterfaceDescriptor; | 14 class PlatformInterfaceDescriptor; |
15 | 15 |
16 #define INTERFACE_DESCRIPTOR_LIST(V) \ | 16 #define INTERFACE_DESCRIPTOR_LIST(V) \ |
17 V(Void) \ | 17 V(Void) \ |
18 V(Load) \ | 18 V(Load) \ |
| 19 V(LoadGlobal) \ |
19 V(Store) \ | 20 V(Store) \ |
20 V(StoreTransition) \ | 21 V(StoreTransition) \ |
21 V(VectorStoreTransition) \ | 22 V(VectorStoreTransition) \ |
22 V(VectorStoreICTrampoline) \ | 23 V(VectorStoreICTrampoline) \ |
23 V(VectorStoreIC) \ | 24 V(VectorStoreIC) \ |
24 V(LoadWithVector) \ | 25 V(LoadWithVector) \ |
25 V(VarArgFunction) \ | 26 V(VarArgFunction) \ |
26 V(FastNewClosure) \ | 27 V(FastNewClosure) \ |
27 V(FastNewContext) \ | 28 V(FastNewContext) \ |
28 V(FastNewObject) \ | 29 V(FastNewObject) \ |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 public: | 284 public: |
284 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadDescriptor, | 285 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadDescriptor, |
285 CallInterfaceDescriptor) | 286 CallInterfaceDescriptor) |
286 | 287 |
287 enum ParameterIndices { kReceiverIndex, kNameIndex, kSlotIndex }; | 288 enum ParameterIndices { kReceiverIndex, kNameIndex, kSlotIndex }; |
288 static const Register ReceiverRegister(); | 289 static const Register ReceiverRegister(); |
289 static const Register NameRegister(); | 290 static const Register NameRegister(); |
290 static const Register SlotRegister(); | 291 static const Register SlotRegister(); |
291 }; | 292 }; |
292 | 293 |
| 294 class LoadGlobalDescriptor : public CallInterfaceDescriptor { |
| 295 public: |
| 296 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalDescriptor, |
| 297 CallInterfaceDescriptor) |
| 298 |
| 299 enum ParameterIndices { kNameIndex, kSlotIndex, kVectorIndex }; |
| 300 }; |
293 | 301 |
294 class StoreDescriptor : public CallInterfaceDescriptor { | 302 class StoreDescriptor : public CallInterfaceDescriptor { |
295 public: | 303 public: |
296 DECLARE_DESCRIPTOR(StoreDescriptor, CallInterfaceDescriptor) | 304 DECLARE_DESCRIPTOR(StoreDescriptor, CallInterfaceDescriptor) |
297 | 305 |
298 enum ParameterIndices { | 306 enum ParameterIndices { |
299 kReceiverIndex, | 307 kReceiverIndex, |
300 kNameIndex, | 308 kNameIndex, |
301 kValueIndex, | 309 kValueIndex, |
302 kParameterCount | 310 kParameterCount |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 } // namespace v8 | 863 } // namespace v8 |
856 | 864 |
857 | 865 |
858 #if V8_TARGET_ARCH_ARM64 | 866 #if V8_TARGET_ARCH_ARM64 |
859 #include "src/arm64/interface-descriptors-arm64.h" | 867 #include "src/arm64/interface-descriptors-arm64.h" |
860 #elif V8_TARGET_ARCH_ARM | 868 #elif V8_TARGET_ARCH_ARM |
861 #include "src/arm/interface-descriptors-arm.h" | 869 #include "src/arm/interface-descriptors-arm.h" |
862 #endif | 870 #endif |
863 | 871 |
864 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 872 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |