| 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 V(AllocateUint32x4) \ | 96 V(AllocateUint32x4) \ |
| 97 V(AllocateBool32x4) \ | 97 V(AllocateBool32x4) \ |
| 98 V(AllocateInt16x8) \ | 98 V(AllocateInt16x8) \ |
| 99 V(AllocateUint16x8) \ | 99 V(AllocateUint16x8) \ |
| 100 V(AllocateBool16x8) \ | 100 V(AllocateBool16x8) \ |
| 101 V(AllocateInt8x16) \ | 101 V(AllocateInt8x16) \ |
| 102 V(AllocateUint8x16) \ | 102 V(AllocateUint8x16) \ |
| 103 V(AllocateBool8x16) \ | 103 V(AllocateBool8x16) \ |
| 104 V(ArrayNoArgumentConstructor) \ | 104 V(ArrayNoArgumentConstructor) \ |
| 105 V(ArraySingleArgumentConstructor) \ | 105 V(ArraySingleArgumentConstructor) \ |
| 106 V(Boom) \ |
| 106 V(StringLength) \ | 107 V(StringLength) \ |
| 107 V(Add) \ | 108 V(Add) \ |
| 108 V(Subtract) \ | 109 V(Subtract) \ |
| 109 V(Multiply) \ | 110 V(Multiply) \ |
| 110 V(Divide) \ | 111 V(Divide) \ |
| 111 V(Modulus) \ | 112 V(Modulus) \ |
| 112 V(ShiftRight) \ | 113 V(ShiftRight) \ |
| 113 V(ShiftRightLogical) \ | 114 V(ShiftRightLogical) \ |
| 114 V(ShiftLeft) \ | 115 V(ShiftLeft) \ |
| 115 V(BitwiseAnd) \ | 116 V(BitwiseAnd) \ |
| (...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 973 : TurboFanCodeStub(isolate) {} | 974 : TurboFanCodeStub(isolate) {} |
| 974 | 975 |
| 975 Code::Kind GetCodeKind() const override { return Code::HANDLER; } | 976 Code::Kind GetCodeKind() const override { return Code::HANDLER; } |
| 976 ExtraICState GetExtraICState() const override { return Code::KEYED_LOAD_IC; } | 977 ExtraICState GetExtraICState() const override { return Code::KEYED_LOAD_IC; } |
| 977 InlineCacheState GetICState() const override { return MONOMORPHIC; } | 978 InlineCacheState GetICState() const override { return MONOMORPHIC; } |
| 978 | 979 |
| 979 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector); | 980 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector); |
| 980 DEFINE_TURBOFAN_CODE_STUB(LoadIndexedInterceptor, TurboFanCodeStub); | 981 DEFINE_TURBOFAN_CODE_STUB(LoadIndexedInterceptor, TurboFanCodeStub); |
| 981 }; | 982 }; |
| 982 | 983 |
| 984 class BoomStub : public TurboFanCodeStub { |
| 985 public: |
| 986 explicit BoomStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 987 |
| 988 static void GenerateAheadOfTime(Isolate* isolate); |
| 989 |
| 990 DEFINE_CALL_INTERFACE_DESCRIPTOR(Void); |
| 991 DEFINE_TURBOFAN_CODE_STUB(Boom, TurboFanCodeStub); |
| 992 }; |
| 993 |
| 983 // ES6 section 12.10.3 "in" operator evaluation. | 994 // ES6 section 12.10.3 "in" operator evaluation. |
| 984 class HasPropertyStub : public TurboFanCodeStub { | 995 class HasPropertyStub : public TurboFanCodeStub { |
| 985 public: | 996 public: |
| 986 explicit HasPropertyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 997 explicit HasPropertyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 987 | 998 |
| 988 DEFINE_CALL_INTERFACE_DESCRIPTOR(HasProperty); | 999 DEFINE_CALL_INTERFACE_DESCRIPTOR(HasProperty); |
| 989 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(HasProperty, TurboFanCodeStub); | 1000 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(HasProperty, TurboFanCodeStub); |
| 990 }; | 1001 }; |
| 991 | 1002 |
| 992 enum StringAddFlags { | 1003 enum StringAddFlags { |
| (...skipping 2253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3246 #undef DEFINE_HYDROGEN_CODE_STUB | 3257 #undef DEFINE_HYDROGEN_CODE_STUB |
| 3247 #undef DEFINE_CODE_STUB | 3258 #undef DEFINE_CODE_STUB |
| 3248 #undef DEFINE_CODE_STUB_BASE | 3259 #undef DEFINE_CODE_STUB_BASE |
| 3249 | 3260 |
| 3250 extern Representation RepresentationFromType(Type* type); | 3261 extern Representation RepresentationFromType(Type* type); |
| 3251 | 3262 |
| 3252 } // namespace internal | 3263 } // namespace internal |
| 3253 } // namespace v8 | 3264 } // namespace v8 |
| 3254 | 3265 |
| 3255 #endif // V8_CODE_STUBS_H_ | 3266 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |