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 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 static const Register NameRegister(); | 368 static const Register NameRegister(); |
369 static const Register SlotRegister(); | 369 static const Register SlotRegister(); |
370 }; | 370 }; |
371 | 371 |
372 class LoadGlobalDescriptor : public CallInterfaceDescriptor { | 372 class LoadGlobalDescriptor : public CallInterfaceDescriptor { |
373 public: | 373 public: |
374 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalDescriptor, | 374 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalDescriptor, |
375 CallInterfaceDescriptor) | 375 CallInterfaceDescriptor) |
376 | 376 |
377 enum ParameterIndices { kSlotIndex }; | 377 enum ParameterIndices { kSlotIndex }; |
378 }; | |
379 | 378 |
380 class LoadGlobalWithVectorDescriptor : public CallInterfaceDescriptor { | 379 static const Register SlotRegister() { |
381 public: | 380 return LoadDescriptor::SlotRegister(); |
382 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalWithVectorDescriptor, | 381 } |
383 CallInterfaceDescriptor) | |
384 | |
385 enum ParameterIndices { kSlotIndex, kVectorIndex }; | |
386 }; | 382 }; |
387 | 383 |
388 class StoreDescriptor : public CallInterfaceDescriptor { | 384 class StoreDescriptor : public CallInterfaceDescriptor { |
389 public: | 385 public: |
390 DECLARE_DESCRIPTOR(StoreDescriptor, CallInterfaceDescriptor) | 386 DECLARE_DESCRIPTOR(StoreDescriptor, CallInterfaceDescriptor) |
391 | 387 |
392 enum ParameterIndices { | 388 enum ParameterIndices { |
393 kReceiverIndex, | 389 kReceiverIndex, |
394 kNameIndex, | 390 kNameIndex, |
395 kValueIndex, | 391 kValueIndex, |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 enum ParameterIndices { | 476 enum ParameterIndices { |
481 kReceiverIndex, | 477 kReceiverIndex, |
482 kNameIndex, | 478 kNameIndex, |
483 kSlotIndex, | 479 kSlotIndex, |
484 kVectorIndex | 480 kVectorIndex |
485 }; | 481 }; |
486 | 482 |
487 static const Register VectorRegister(); | 483 static const Register VectorRegister(); |
488 }; | 484 }; |
489 | 485 |
| 486 class LoadGlobalWithVectorDescriptor : public LoadGlobalDescriptor { |
| 487 public: |
| 488 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(LoadGlobalWithVectorDescriptor, |
| 489 LoadGlobalDescriptor) |
| 490 |
| 491 enum ParameterIndices { kSlotIndex, kVectorIndex }; |
| 492 |
| 493 static const Register VectorRegister() { |
| 494 return LoadWithVectorDescriptor::VectorRegister(); |
| 495 } |
| 496 }; |
490 | 497 |
491 class FastNewClosureDescriptor : public CallInterfaceDescriptor { | 498 class FastNewClosureDescriptor : public CallInterfaceDescriptor { |
492 public: | 499 public: |
493 DECLARE_DESCRIPTOR(FastNewClosureDescriptor, CallInterfaceDescriptor) | 500 DECLARE_DESCRIPTOR(FastNewClosureDescriptor, CallInterfaceDescriptor) |
494 }; | 501 }; |
495 | 502 |
496 | 503 |
497 class FastNewContextDescriptor : public CallInterfaceDescriptor { | 504 class FastNewContextDescriptor : public CallInterfaceDescriptor { |
498 public: | 505 public: |
499 DECLARE_DESCRIPTOR(FastNewContextDescriptor, CallInterfaceDescriptor) | 506 DECLARE_DESCRIPTOR(FastNewContextDescriptor, CallInterfaceDescriptor) |
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
932 } // namespace v8 | 939 } // namespace v8 |
933 | 940 |
934 | 941 |
935 #if V8_TARGET_ARCH_ARM64 | 942 #if V8_TARGET_ARCH_ARM64 |
936 #include "src/arm64/interface-descriptors-arm64.h" | 943 #include "src/arm64/interface-descriptors-arm64.h" |
937 #elif V8_TARGET_ARCH_ARM | 944 #elif V8_TARGET_ARCH_ARM |
938 #include "src/arm/interface-descriptors-arm.h" | 945 #include "src/arm/interface-descriptors-arm.h" |
939 #endif | 946 #endif |
940 | 947 |
941 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 948 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |