| 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 |