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