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 11 matching lines...) Expand all Loading... |
22 V(VectorStoreICTrampoline) \ | 22 V(VectorStoreICTrampoline) \ |
23 V(VectorStoreIC) \ | 23 V(VectorStoreIC) \ |
24 V(InstanceOf) \ | 24 V(InstanceOf) \ |
25 V(LoadWithVector) \ | 25 V(LoadWithVector) \ |
26 V(FastNewClosure) \ | 26 V(FastNewClosure) \ |
27 V(FastNewContext) \ | 27 V(FastNewContext) \ |
28 V(FastNewObject) \ | 28 V(FastNewObject) \ |
29 V(FastNewRestParameter) \ | 29 V(FastNewRestParameter) \ |
30 V(FastNewSloppyArguments) \ | 30 V(FastNewSloppyArguments) \ |
31 V(FastNewStrictArguments) \ | 31 V(FastNewStrictArguments) \ |
32 V(ToNumber) \ | 32 V(TypeConversion) \ |
33 V(ToLength) \ | |
34 V(ToString) \ | |
35 V(ToName) \ | |
36 V(ToObject) \ | |
37 V(NumberToString) \ | |
38 V(Typeof) \ | 33 V(Typeof) \ |
39 V(FastCloneRegExp) \ | 34 V(FastCloneRegExp) \ |
40 V(FastCloneShallowArray) \ | 35 V(FastCloneShallowArray) \ |
41 V(FastCloneShallowObject) \ | 36 V(FastCloneShallowObject) \ |
42 V(CreateAllocationSite) \ | 37 V(CreateAllocationSite) \ |
43 V(CreateWeakCell) \ | 38 V(CreateWeakCell) \ |
44 V(CallFunction) \ | 39 V(CallFunction) \ |
45 V(CallFunctionWithFeedback) \ | 40 V(CallFunctionWithFeedback) \ |
46 V(CallFunctionWithFeedbackAndVector) \ | 41 V(CallFunctionWithFeedbackAndVector) \ |
47 V(CallConstruct) \ | 42 V(CallConstruct) \ |
48 V(CallTrampoline) \ | 43 V(CallTrampoline) \ |
49 V(ConstructStub) \ | 44 V(ConstructStub) \ |
50 V(ConstructTrampoline) \ | 45 V(ConstructTrampoline) \ |
51 V(RegExpConstructResult) \ | 46 V(RegExpConstructResult) \ |
52 V(TransitionElementsKind) \ | 47 V(TransitionElementsKind) \ |
53 V(AllocateHeapNumber) \ | 48 V(AllocateHeapNumber) \ |
54 V(AllocateMutableHeapNumber) \ | 49 V(AllocateMutableHeapNumber) \ |
55 V(AllocateInNewSpace) \ | 50 V(AllocateInNewSpace) \ |
56 V(ArrayConstructorConstantArgCount) \ | 51 V(ArrayConstructorConstantArgCount) \ |
57 V(ArrayConstructor) \ | 52 V(ArrayConstructor) \ |
58 V(InternalArrayConstructorConstantArgCount) \ | 53 V(InternalArrayConstructorConstantArgCount) \ |
59 V(InternalArrayConstructor) \ | 54 V(InternalArrayConstructor) \ |
60 V(Compare) \ | 55 V(Compare) \ |
61 V(ToBoolean) \ | |
62 V(BinaryOp) \ | 56 V(BinaryOp) \ |
63 V(BinaryOpWithAllocationSite) \ | 57 V(BinaryOpWithAllocationSite) \ |
64 V(StringAdd) \ | 58 V(StringAdd) \ |
65 V(StringCompare) \ | 59 V(StringCompare) \ |
66 V(Keyed) \ | 60 V(Keyed) \ |
67 V(Named) \ | 61 V(Named) \ |
68 V(CallHandler) \ | 62 V(CallHandler) \ |
69 V(ArgumentAdaptor) \ | 63 V(ArgumentAdaptor) \ |
70 V(ApiCallbackWith0Args) \ | 64 V(ApiCallbackWith0Args) \ |
71 V(ApiCallbackWith1Args) \ | 65 V(ApiCallbackWith1Args) \ |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 DECLARE_DESCRIPTOR(FastNewSloppyArgumentsDescriptor, | 403 DECLARE_DESCRIPTOR(FastNewSloppyArgumentsDescriptor, |
410 CallInterfaceDescriptor) | 404 CallInterfaceDescriptor) |
411 }; | 405 }; |
412 | 406 |
413 class FastNewStrictArgumentsDescriptor : public CallInterfaceDescriptor { | 407 class FastNewStrictArgumentsDescriptor : public CallInterfaceDescriptor { |
414 public: | 408 public: |
415 DECLARE_DESCRIPTOR(FastNewStrictArgumentsDescriptor, | 409 DECLARE_DESCRIPTOR(FastNewStrictArgumentsDescriptor, |
416 CallInterfaceDescriptor) | 410 CallInterfaceDescriptor) |
417 }; | 411 }; |
418 | 412 |
| 413 class TypeConversionDescriptor final : public CallInterfaceDescriptor { |
| 414 public: |
| 415 enum ParameterIndices { kArgumentIndex }; |
419 | 416 |
420 class ToNumberDescriptor : public CallInterfaceDescriptor { | 417 DECLARE_DESCRIPTOR(TypeConversionDescriptor, CallInterfaceDescriptor) |
421 public: | 418 |
422 DECLARE_DESCRIPTOR(ToNumberDescriptor, CallInterfaceDescriptor) | 419 static const Register ArgumentRegister(); |
423 }; | 420 }; |
424 | 421 |
425 | 422 |
426 class ToLengthDescriptor : public CallInterfaceDescriptor { | |
427 public: | |
428 enum ParameterIndices { kReceiverIndex }; | |
429 | |
430 DECLARE_DESCRIPTOR(ToLengthDescriptor, CallInterfaceDescriptor) | |
431 | |
432 static const Register ReceiverRegister(); | |
433 }; | |
434 | |
435 | |
436 class ToStringDescriptor : public CallInterfaceDescriptor { | |
437 public: | |
438 enum ParameterIndices { kReceiverIndex }; | |
439 | |
440 DECLARE_DESCRIPTOR(ToStringDescriptor, CallInterfaceDescriptor) | |
441 | |
442 static const Register ReceiverRegister(); | |
443 }; | |
444 | |
445 | |
446 class ToNameDescriptor : public CallInterfaceDescriptor { | |
447 public: | |
448 enum ParameterIndices { kReceiverIndex }; | |
449 | |
450 DECLARE_DESCRIPTOR(ToNameDescriptor, CallInterfaceDescriptor) | |
451 | |
452 static const Register ReceiverRegister(); | |
453 }; | |
454 | |
455 | |
456 class ToObjectDescriptor : public CallInterfaceDescriptor { | |
457 public: | |
458 enum ParameterIndices { kReceiverIndex }; | |
459 | |
460 DECLARE_DESCRIPTOR(ToObjectDescriptor, CallInterfaceDescriptor) | |
461 | |
462 static const Register ReceiverRegister(); | |
463 }; | |
464 | |
465 | |
466 class NumberToStringDescriptor : public CallInterfaceDescriptor { | |
467 public: | |
468 DECLARE_DESCRIPTOR(NumberToStringDescriptor, CallInterfaceDescriptor) | |
469 }; | |
470 | |
471 | |
472 class TypeofDescriptor : public CallInterfaceDescriptor { | 423 class TypeofDescriptor : public CallInterfaceDescriptor { |
473 public: | 424 public: |
474 DECLARE_DESCRIPTOR(TypeofDescriptor, CallInterfaceDescriptor) | 425 DECLARE_DESCRIPTOR(TypeofDescriptor, CallInterfaceDescriptor) |
475 }; | 426 }; |
476 | 427 |
477 | 428 |
478 class FastCloneRegExpDescriptor : public CallInterfaceDescriptor { | 429 class FastCloneRegExpDescriptor : public CallInterfaceDescriptor { |
479 public: | 430 public: |
480 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FastCloneRegExpDescriptor, | 431 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FastCloneRegExpDescriptor, |
481 CallInterfaceDescriptor) | 432 CallInterfaceDescriptor) |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 InternalArrayConstructorDescriptor, CallInterfaceDescriptor) | 594 InternalArrayConstructorDescriptor, CallInterfaceDescriptor) |
644 }; | 595 }; |
645 | 596 |
646 | 597 |
647 class CompareDescriptor : public CallInterfaceDescriptor { | 598 class CompareDescriptor : public CallInterfaceDescriptor { |
648 public: | 599 public: |
649 DECLARE_DESCRIPTOR(CompareDescriptor, CallInterfaceDescriptor) | 600 DECLARE_DESCRIPTOR(CompareDescriptor, CallInterfaceDescriptor) |
650 }; | 601 }; |
651 | 602 |
652 | 603 |
653 class ToBooleanDescriptor : public CallInterfaceDescriptor { | |
654 public: | |
655 DECLARE_DESCRIPTOR(ToBooleanDescriptor, CallInterfaceDescriptor) | |
656 }; | |
657 | |
658 | |
659 class BinaryOpDescriptor : public CallInterfaceDescriptor { | 604 class BinaryOpDescriptor : public CallInterfaceDescriptor { |
660 public: | 605 public: |
661 DECLARE_DESCRIPTOR(BinaryOpDescriptor, CallInterfaceDescriptor) | 606 DECLARE_DESCRIPTOR(BinaryOpDescriptor, CallInterfaceDescriptor) |
662 }; | 607 }; |
663 | 608 |
664 | 609 |
665 class BinaryOpWithAllocationSiteDescriptor : public CallInterfaceDescriptor { | 610 class BinaryOpWithAllocationSiteDescriptor : public CallInterfaceDescriptor { |
666 public: | 611 public: |
667 DECLARE_DESCRIPTOR(BinaryOpWithAllocationSiteDescriptor, | 612 DECLARE_DESCRIPTOR(BinaryOpWithAllocationSiteDescriptor, |
668 CallInterfaceDescriptor) | 613 CallInterfaceDescriptor) |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 } // namespace v8 | 814 } // namespace v8 |
870 | 815 |
871 | 816 |
872 #if V8_TARGET_ARCH_ARM64 | 817 #if V8_TARGET_ARCH_ARM64 |
873 #include "src/arm64/interface-descriptors-arm64.h" | 818 #include "src/arm64/interface-descriptors-arm64.h" |
874 #elif V8_TARGET_ARCH_ARM | 819 #elif V8_TARGET_ARCH_ARM |
875 #include "src/arm/interface-descriptors-arm.h" | 820 #include "src/arm/interface-descriptors-arm.h" |
876 #endif | 821 #endif |
877 | 822 |
878 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 823 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |