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

Side by Side Diff: src/code-stubs.h

Issue 2224343002: [interpreter] Collect type feedback in Add, Mul, Div and Mod. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixes test-interpreter/InterpreterParameter8. Created 4 years, 4 months 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/code-stub-assembler.cc ('k') | src/code-stubs.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_CODE_STUBS_H_ 5 #ifndef V8_CODE_STUBS_H_
6 #define V8_CODE_STUBS_H_ 6 #define V8_CODE_STUBS_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assembler.h" 9 #include "src/assembler.h"
10 #include "src/code-stub-assembler.h" 10 #include "src/code-stub-assembler.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 V(AllocateInt8x16) \ 114 V(AllocateInt8x16) \
115 V(AllocateUint8x16) \ 115 V(AllocateUint8x16) \
116 V(AllocateBool8x16) \ 116 V(AllocateBool8x16) \
117 V(ArrayNoArgumentConstructor) \ 117 V(ArrayNoArgumentConstructor) \
118 V(ArraySingleArgumentConstructor) \ 118 V(ArraySingleArgumentConstructor) \
119 V(ArrayNArgumentsConstructor) \ 119 V(ArrayNArgumentsConstructor) \
120 V(CreateAllocationSite) \ 120 V(CreateAllocationSite) \
121 V(CreateWeakCell) \ 121 V(CreateWeakCell) \
122 V(StringLength) \ 122 V(StringLength) \
123 V(Add) \ 123 V(Add) \
124 V(AddWithFeedback) \
124 V(Subtract) \ 125 V(Subtract) \
125 V(SubtractWithFeedback) \ 126 V(SubtractWithFeedback) \
126 V(Multiply) \ 127 V(Multiply) \
128 V(MultiplyWithFeedback) \
127 V(Divide) \ 129 V(Divide) \
130 V(DivideWithFeedback) \
128 V(Modulus) \ 131 V(Modulus) \
132 V(ModulusWithFeedback) \
129 V(ShiftRight) \ 133 V(ShiftRight) \
130 V(ShiftRightLogical) \ 134 V(ShiftRightLogical) \
131 V(ShiftLeft) \ 135 V(ShiftLeft) \
132 V(BitwiseAnd) \ 136 V(BitwiseAnd) \
133 V(BitwiseOr) \ 137 V(BitwiseOr) \
134 V(BitwiseXor) \ 138 V(BitwiseXor) \
135 V(Inc) \ 139 V(Inc) \
136 V(InternalArrayNoArgumentConstructor) \ 140 V(InternalArrayNoArgumentConstructor) \
137 V(InternalArraySingleArgumentConstructor) \ 141 V(InternalArraySingleArgumentConstructor) \
138 V(Dec) \ 142 V(Dec) \
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 }; 753 };
750 754
751 class AddStub final : public TurboFanCodeStub { 755 class AddStub final : public TurboFanCodeStub {
752 public: 756 public:
753 explicit AddStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 757 explicit AddStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
754 758
755 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 759 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
756 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Add, TurboFanCodeStub); 760 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Add, TurboFanCodeStub);
757 }; 761 };
758 762
763 class AddWithFeedbackStub final : public TurboFanCodeStub {
764 public:
765 explicit AddWithFeedbackStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
766
767 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
768 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(AddWithFeedback,
769 TurboFanCodeStub);
770 };
771
759 class SubtractStub final : public TurboFanCodeStub { 772 class SubtractStub final : public TurboFanCodeStub {
760 public: 773 public:
761 explicit SubtractStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 774 explicit SubtractStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
762 775
763 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 776 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
764 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Subtract, TurboFanCodeStub); 777 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Subtract, TurboFanCodeStub);
765 }; 778 };
766 779
767 class SubtractWithFeedbackStub final : public TurboFanCodeStub { 780 class SubtractWithFeedbackStub final : public TurboFanCodeStub {
768 public: 781 public:
769 explicit SubtractWithFeedbackStub(Isolate* isolate) 782 explicit SubtractWithFeedbackStub(Isolate* isolate)
770 : TurboFanCodeStub(isolate) {} 783 : TurboFanCodeStub(isolate) {}
771 784
772 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 785 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
773 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(SubtractWithFeedback, 786 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(SubtractWithFeedback,
774 TurboFanCodeStub); 787 TurboFanCodeStub);
775 }; 788 };
776 789
777 class MultiplyStub final : public TurboFanCodeStub { 790 class MultiplyStub final : public TurboFanCodeStub {
778 public: 791 public:
779 explicit MultiplyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 792 explicit MultiplyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
780 793
781 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 794 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
782 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Multiply, TurboFanCodeStub); 795 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Multiply, TurboFanCodeStub);
783 }; 796 };
784 797
798 class MultiplyWithFeedbackStub final : public TurboFanCodeStub {
799 public:
800 explicit MultiplyWithFeedbackStub(Isolate* isolate)
801 : TurboFanCodeStub(isolate) {}
802
803 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
804 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(MultiplyWithFeedback,
805 TurboFanCodeStub);
806 };
807
785 class DivideStub final : public TurboFanCodeStub { 808 class DivideStub final : public TurboFanCodeStub {
786 public: 809 public:
787 explicit DivideStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 810 explicit DivideStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
788 811
789 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 812 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
790 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Divide, TurboFanCodeStub); 813 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Divide, TurboFanCodeStub);
791 }; 814 };
792 815
816 class DivideWithFeedbackStub final : public TurboFanCodeStub {
817 public:
818 explicit DivideWithFeedbackStub(Isolate* isolate)
819 : TurboFanCodeStub(isolate) {}
820
821 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
822 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(DivideWithFeedback,
823 TurboFanCodeStub);
824 };
825
793 class ModulusStub final : public TurboFanCodeStub { 826 class ModulusStub final : public TurboFanCodeStub {
794 public: 827 public:
795 explicit ModulusStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 828 explicit ModulusStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
796 829
797 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 830 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
798 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Modulus, TurboFanCodeStub); 831 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Modulus, TurboFanCodeStub);
799 }; 832 };
800 833
834 class ModulusWithFeedbackStub final : public TurboFanCodeStub {
835 public:
836 explicit ModulusWithFeedbackStub(Isolate* isolate)
837 : TurboFanCodeStub(isolate) {}
838
839 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
840 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(ModulusWithFeedback,
841 TurboFanCodeStub);
842 };
843
801 class ShiftRightStub final : public TurboFanCodeStub { 844 class ShiftRightStub final : public TurboFanCodeStub {
802 public: 845 public:
803 explicit ShiftRightStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 846 explicit ShiftRightStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
804 847
805 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); 848 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp);
806 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftRight, TurboFanCodeStub); 849 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftRight, TurboFanCodeStub);
807 }; 850 };
808 851
809 class ShiftRightLogicalStub final : public TurboFanCodeStub { 852 class ShiftRightLogicalStub final : public TurboFanCodeStub {
810 public: 853 public:
(...skipping 2356 matching lines...) Expand 10 before | Expand all | Expand 10 after
3167 #undef DEFINE_HYDROGEN_CODE_STUB 3210 #undef DEFINE_HYDROGEN_CODE_STUB
3168 #undef DEFINE_CODE_STUB 3211 #undef DEFINE_CODE_STUB
3169 #undef DEFINE_CODE_STUB_BASE 3212 #undef DEFINE_CODE_STUB_BASE
3170 3213
3171 extern Representation RepresentationFromType(Type* type); 3214 extern Representation RepresentationFromType(Type* type);
3172 3215
3173 } // namespace internal 3216 } // namespace internal
3174 } // namespace v8 3217 } // namespace v8
3175 3218
3176 #endif // V8_CODE_STUBS_H_ 3219 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698