Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/interface-descriptors.h

Issue 2599683002: [turbofan] Introduce a dedicated StringCharAt operator. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/verifier.cc ('k') | src/interface-descriptors.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 V(Builtin) \ 66 V(Builtin) \
67 V(ArrayNoArgumentConstructor) \ 67 V(ArrayNoArgumentConstructor) \
68 V(ArraySingleArgumentConstructor) \ 68 V(ArraySingleArgumentConstructor) \
69 V(ArrayNArgumentsConstructor) \ 69 V(ArrayNArgumentsConstructor) \
70 V(Compare) \ 70 V(Compare) \
71 V(BinaryOp) \ 71 V(BinaryOp) \
72 V(BinaryOpWithAllocationSite) \ 72 V(BinaryOpWithAllocationSite) \
73 V(BinaryOpWithVector) \ 73 V(BinaryOpWithVector) \
74 V(CountOp) \ 74 V(CountOp) \
75 V(StringAdd) \ 75 V(StringAdd) \
76 V(StringCharAt) \
76 V(StringCompare) \ 77 V(StringCompare) \
77 V(SubString) \ 78 V(SubString) \
78 V(Keyed) \ 79 V(Keyed) \
79 V(Named) \ 80 V(Named) \
80 V(HasProperty) \ 81 V(HasProperty) \
81 V(ForInFilter) \ 82 V(ForInFilter) \
82 V(GetProperty) \ 83 V(GetProperty) \
83 V(CallHandler) \ 84 V(CallHandler) \
84 V(ArgumentAdaptor) \ 85 V(ArgumentAdaptor) \
85 V(ApiCallback) \ 86 V(ApiCallback) \
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 public: 683 public:
683 DECLARE_DESCRIPTOR(CountOpDescriptor, CallInterfaceDescriptor) 684 DECLARE_DESCRIPTOR(CountOpDescriptor, CallInterfaceDescriptor)
684 }; 685 };
685 686
686 class StringAddDescriptor : public CallInterfaceDescriptor { 687 class StringAddDescriptor : public CallInterfaceDescriptor {
687 public: 688 public:
688 DEFINE_PARAMETERS(kLeft, kRight) 689 DEFINE_PARAMETERS(kLeft, kRight)
689 DECLARE_DESCRIPTOR(StringAddDescriptor, CallInterfaceDescriptor) 690 DECLARE_DESCRIPTOR(StringAddDescriptor, CallInterfaceDescriptor)
690 }; 691 };
691 692
693 class StringCharAtDescriptor final : public CallInterfaceDescriptor {
694 public:
695 DEFINE_PARAMETERS(kReceiver, kPosition)
696 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StringCharAtDescriptor,
697 CallInterfaceDescriptor)
698 };
692 699
693 class StringCompareDescriptor : public CallInterfaceDescriptor { 700 class StringCompareDescriptor : public CallInterfaceDescriptor {
694 public: 701 public:
695 DEFINE_PARAMETERS(kLeft, kRight) 702 DEFINE_PARAMETERS(kLeft, kRight)
696 DECLARE_DESCRIPTOR(StringCompareDescriptor, CallInterfaceDescriptor) 703 DECLARE_DESCRIPTOR(StringCompareDescriptor, CallInterfaceDescriptor)
697 704
698 static const Register LeftRegister(); 705 static const Register LeftRegister();
699 static const Register RightRegister(); 706 static const Register RightRegister();
700 }; 707 };
701 708
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 } // namespace v8 867 } // namespace v8
861 868
862 869
863 #if V8_TARGET_ARCH_ARM64 870 #if V8_TARGET_ARCH_ARM64
864 #include "src/arm64/interface-descriptors-arm64.h" 871 #include "src/arm64/interface-descriptors-arm64.h"
865 #elif V8_TARGET_ARCH_ARM 872 #elif V8_TARGET_ARCH_ARM
866 #include "src/arm/interface-descriptors-arm.h" 873 #include "src/arm/interface-descriptors-arm.h"
867 #endif 874 #endif
868 875
869 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ 876 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_
OLDNEW
« no previous file with comments | « src/compiler/verifier.cc ('k') | src/interface-descriptors.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698