| OLD | NEW |
| 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 13 matching lines...) Expand all Loading... |
| 24 V(ArrayConstructor) \ | 24 V(ArrayConstructor) \ |
| 25 V(BinaryOpICWithAllocationSite) \ | 25 V(BinaryOpICWithAllocationSite) \ |
| 26 V(CallApiCallback) \ | 26 V(CallApiCallback) \ |
| 27 V(CallApiGetter) \ | 27 V(CallApiGetter) \ |
| 28 V(CallConstruct) \ | 28 V(CallConstruct) \ |
| 29 V(CallIC) \ | 29 V(CallIC) \ |
| 30 V(CEntry) \ | 30 V(CEntry) \ |
| 31 V(CompareIC) \ | 31 V(CompareIC) \ |
| 32 V(DoubleToI) \ | 32 V(DoubleToI) \ |
| 33 V(FunctionPrototype) \ | 33 V(FunctionPrototype) \ |
| 34 V(InstanceOf) \ | |
| 35 V(InternalArrayConstructor) \ | 34 V(InternalArrayConstructor) \ |
| 36 V(JSEntry) \ | 35 V(JSEntry) \ |
| 37 V(KeyedLoadICTrampoline) \ | 36 V(KeyedLoadICTrampoline) \ |
| 38 V(LoadICTrampoline) \ | 37 V(LoadICTrampoline) \ |
| 39 V(CallICTrampoline) \ | 38 V(CallICTrampoline) \ |
| 40 V(LoadIndexedString) \ | 39 V(LoadIndexedString) \ |
| 41 V(MathPow) \ | 40 V(MathPow) \ |
| 42 V(ProfileEntryHook) \ | 41 V(ProfileEntryHook) \ |
| 43 V(RecordWrite) \ | 42 V(RecordWrite) \ |
| 44 V(RegExpExec) \ | 43 V(RegExpExec) \ |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 V(ShiftRight) \ | 113 V(ShiftRight) \ |
| 115 V(ShiftRightLogical) \ | 114 V(ShiftRightLogical) \ |
| 116 V(ShiftLeft) \ | 115 V(ShiftLeft) \ |
| 117 V(BitwiseAnd) \ | 116 V(BitwiseAnd) \ |
| 118 V(BitwiseOr) \ | 117 V(BitwiseOr) \ |
| 119 V(BitwiseXor) \ | 118 V(BitwiseXor) \ |
| 120 V(Inc) \ | 119 V(Inc) \ |
| 121 V(InternalArrayNoArgumentConstructor) \ | 120 V(InternalArrayNoArgumentConstructor) \ |
| 122 V(Dec) \ | 121 V(Dec) \ |
| 123 V(FastCloneShallowObject) \ | 122 V(FastCloneShallowObject) \ |
| 123 V(InstanceOf) \ |
| 124 V(LessThan) \ | 124 V(LessThan) \ |
| 125 V(LessThanOrEqual) \ | 125 V(LessThanOrEqual) \ |
| 126 V(GreaterThan) \ | 126 V(GreaterThan) \ |
| 127 V(GreaterThanOrEqual) \ | 127 V(GreaterThanOrEqual) \ |
| 128 V(Equal) \ | 128 V(Equal) \ |
| 129 V(NotEqual) \ | 129 V(NotEqual) \ |
| 130 V(StrictEqual) \ | 130 V(StrictEqual) \ |
| 131 V(StrictNotEqual) \ | 131 V(StrictNotEqual) \ |
| 132 V(StringEqual) \ | 132 V(StringEqual) \ |
| 133 V(StringNotEqual) \ | 133 V(StringNotEqual) \ |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 }; | 774 }; |
| 775 | 775 |
| 776 class DecStub final : public TurboFanCodeStub { | 776 class DecStub final : public TurboFanCodeStub { |
| 777 public: | 777 public: |
| 778 explicit DecStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 778 explicit DecStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 779 | 779 |
| 780 DEFINE_CALL_INTERFACE_DESCRIPTOR(CountOp); | 780 DEFINE_CALL_INTERFACE_DESCRIPTOR(CountOp); |
| 781 DEFINE_TURBOFAN_CODE_STUB(Dec, TurboFanCodeStub); | 781 DEFINE_TURBOFAN_CODE_STUB(Dec, TurboFanCodeStub); |
| 782 }; | 782 }; |
| 783 | 783 |
| 784 class InstanceOfStub final : public TurboFanCodeStub { |
| 785 public: |
| 786 explicit InstanceOfStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 787 |
| 788 private: |
| 789 DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare); |
| 790 DEFINE_TURBOFAN_CODE_STUB(InstanceOf, TurboFanCodeStub); |
| 791 }; |
| 792 |
| 784 class LessThanStub final : public TurboFanCodeStub { | 793 class LessThanStub final : public TurboFanCodeStub { |
| 785 public: | 794 public: |
| 786 explicit LessThanStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 795 explicit LessThanStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 787 | 796 |
| 788 DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare); | 797 DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare); |
| 789 DEFINE_TURBOFAN_CODE_STUB(LessThan, TurboFanCodeStub); | 798 DEFINE_TURBOFAN_CODE_STUB(LessThan, TurboFanCodeStub); |
| 790 }; | 799 }; |
| 791 | 800 |
| 792 class LessThanOrEqualStub final : public TurboFanCodeStub { | 801 class LessThanOrEqualStub final : public TurboFanCodeStub { |
| 793 public: | 802 public: |
| (...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1231 | 1240 |
| 1232 class FastArrayPushStub : public HydrogenCodeStub { | 1241 class FastArrayPushStub : public HydrogenCodeStub { |
| 1233 public: | 1242 public: |
| 1234 explicit FastArrayPushStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} | 1243 explicit FastArrayPushStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} |
| 1235 | 1244 |
| 1236 private: | 1245 private: |
| 1237 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastArrayPush); | 1246 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastArrayPush); |
| 1238 DEFINE_HYDROGEN_CODE_STUB(FastArrayPush, HydrogenCodeStub); | 1247 DEFINE_HYDROGEN_CODE_STUB(FastArrayPush, HydrogenCodeStub); |
| 1239 }; | 1248 }; |
| 1240 | 1249 |
| 1241 class InstanceOfStub final : public PlatformCodeStub { | |
| 1242 public: | |
| 1243 explicit InstanceOfStub(Isolate* isolate, bool es6_instanceof = false) | |
| 1244 : PlatformCodeStub(isolate) { | |
| 1245 minor_key_ = IsES6InstanceOfBits::encode(es6_instanceof); | |
| 1246 } | |
| 1247 | |
| 1248 bool is_es6_instanceof() const { | |
| 1249 return IsES6InstanceOfBits::decode(minor_key_); | |
| 1250 } | |
| 1251 | |
| 1252 private: | |
| 1253 class IsES6InstanceOfBits : public BitField<bool, 0, 1> {}; | |
| 1254 | |
| 1255 DEFINE_CALL_INTERFACE_DESCRIPTOR(InstanceOf); | |
| 1256 DEFINE_PLATFORM_CODE_STUB(InstanceOf, PlatformCodeStub); | |
| 1257 }; | |
| 1258 | |
| 1259 | 1250 |
| 1260 enum AllocationSiteOverrideMode { | 1251 enum AllocationSiteOverrideMode { |
| 1261 DONT_OVERRIDE, | 1252 DONT_OVERRIDE, |
| 1262 DISABLE_ALLOCATION_SITES, | 1253 DISABLE_ALLOCATION_SITES, |
| 1263 LAST_ALLOCATION_SITE_OVERRIDE_MODE = DISABLE_ALLOCATION_SITES | 1254 LAST_ALLOCATION_SITE_OVERRIDE_MODE = DISABLE_ALLOCATION_SITES |
| 1264 }; | 1255 }; |
| 1265 | 1256 |
| 1266 | 1257 |
| 1267 class ArrayConstructorStub: public PlatformCodeStub { | 1258 class ArrayConstructorStub: public PlatformCodeStub { |
| 1268 public: | 1259 public: |
| (...skipping 1977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3246 #undef DEFINE_HYDROGEN_CODE_STUB | 3237 #undef DEFINE_HYDROGEN_CODE_STUB |
| 3247 #undef DEFINE_CODE_STUB | 3238 #undef DEFINE_CODE_STUB |
| 3248 #undef DEFINE_CODE_STUB_BASE | 3239 #undef DEFINE_CODE_STUB_BASE |
| 3249 | 3240 |
| 3250 extern Representation RepresentationFromType(Type* type); | 3241 extern Representation RepresentationFromType(Type* type); |
| 3251 | 3242 |
| 3252 } // namespace internal | 3243 } // namespace internal |
| 3253 } // namespace v8 | 3244 } // namespace v8 |
| 3254 | 3245 |
| 3255 #endif // V8_CODE_STUBS_H_ | 3246 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |