| 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> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
| 11 #include "src/globals.h" | 11 #include "src/globals.h" |
| 12 #include "src/macro-assembler.h" | 12 #include "src/macro-assembler.h" |
| 13 | 13 |
| 14 namespace v8 { | 14 namespace v8 { |
| 15 namespace internal { | 15 namespace internal { |
| 16 | 16 |
| 17 class PlatformInterfaceDescriptor; | 17 class PlatformInterfaceDescriptor; |
| 18 | 18 |
| 19 #define INTERFACE_DESCRIPTOR_LIST(V) \ | 19 #define INTERFACE_DESCRIPTOR_LIST(V) \ |
| 20 V(Void) \ | 20 V(Void) \ |
| 21 V(ContextOnly) \ | 21 V(ContextOnly) \ |
| 22 V(Load) \ | 22 V(Load) \ |
| 23 V(LoadWithVector) \ | 23 V(LoadWithVector) \ |
| 24 V(LoadICProtoArray) \ |
| 24 V(LoadGlobal) \ | 25 V(LoadGlobal) \ |
| 25 V(LoadGlobalWithVector) \ | 26 V(LoadGlobalWithVector) \ |
| 26 V(Store) \ | 27 V(Store) \ |
| 27 V(StoreWithVector) \ | 28 V(StoreWithVector) \ |
| 28 V(StoreNamedTransition) \ | 29 V(StoreNamedTransition) \ |
| 29 V(StoreTransition) \ | 30 V(StoreTransition) \ |
| 30 V(VarArgFunction) \ | 31 V(VarArgFunction) \ |
| 31 V(FastNewClosure) \ | 32 V(FastNewClosure) \ |
| 32 V(FastNewFunctionContext) \ | 33 V(FastNewFunctionContext) \ |
| 33 V(FastNewObject) \ | 34 V(FastNewObject) \ |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 | 383 |
| 383 class LoadWithVectorDescriptor : public LoadDescriptor { | 384 class LoadWithVectorDescriptor : public LoadDescriptor { |
| 384 public: | 385 public: |
| 385 DEFINE_PARAMETERS(kReceiver, kName, kSlot, kVector) | 386 DEFINE_PARAMETERS(kReceiver, kName, kSlot, kVector) |
| 386 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadWithVectorDescriptor, | 387 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadWithVectorDescriptor, |
| 387 LoadDescriptor) | 388 LoadDescriptor) |
| 388 | 389 |
| 389 static const Register VectorRegister(); | 390 static const Register VectorRegister(); |
| 390 }; | 391 }; |
| 391 | 392 |
| 393 class LoadICProtoArrayDescriptor : public LoadWithVectorDescriptor { |
| 394 public: |
| 395 DEFINE_PARAMETERS(kReceiver, kName, kSlot, kVector, kHandler) |
| 396 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadICProtoArrayDescriptor, |
| 397 LoadWithVectorDescriptor) |
| 398 |
| 399 static const Register HandlerRegister(); |
| 400 }; |
| 401 |
| 392 class LoadGlobalWithVectorDescriptor : public LoadGlobalDescriptor { | 402 class LoadGlobalWithVectorDescriptor : public LoadGlobalDescriptor { |
| 393 public: | 403 public: |
| 394 DEFINE_PARAMETERS(kSlot, kVector) | 404 DEFINE_PARAMETERS(kSlot, kVector) |
| 395 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalWithVectorDescriptor, | 405 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalWithVectorDescriptor, |
| 396 LoadGlobalDescriptor) | 406 LoadGlobalDescriptor) |
| 397 | 407 |
| 398 static const Register VectorRegister() { | 408 static const Register VectorRegister() { |
| 399 return LoadWithVectorDescriptor::VectorRegister(); | 409 return LoadWithVectorDescriptor::VectorRegister(); |
| 400 } | 410 } |
| 401 }; | 411 }; |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 } // namespace v8 | 837 } // namespace v8 |
| 828 | 838 |
| 829 | 839 |
| 830 #if V8_TARGET_ARCH_ARM64 | 840 #if V8_TARGET_ARCH_ARM64 |
| 831 #include "src/arm64/interface-descriptors-arm64.h" | 841 #include "src/arm64/interface-descriptors-arm64.h" |
| 832 #elif V8_TARGET_ARCH_ARM | 842 #elif V8_TARGET_ARCH_ARM |
| 833 #include "src/arm/interface-descriptors-arm.h" | 843 #include "src/arm/interface-descriptors-arm.h" |
| 834 #endif | 844 #endif |
| 835 | 845 |
| 836 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 846 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
| OLD | NEW |