| 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/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 868 DEFINE_TURBOFAN_CODE_STUB(ToLength, TurboFanCodeStub); | 868 DEFINE_TURBOFAN_CODE_STUB(ToLength, TurboFanCodeStub); |
| 869 }; | 869 }; |
| 870 | 870 |
| 871 class StoreInterceptorStub : public TurboFanCodeStub { | 871 class StoreInterceptorStub : public TurboFanCodeStub { |
| 872 public: | 872 public: |
| 873 explicit StoreInterceptorStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 873 explicit StoreInterceptorStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 874 | 874 |
| 875 void GenerateAssembly(compiler::CodeStubAssembler* assember) const override; | 875 void GenerateAssembly(compiler::CodeStubAssembler* assember) const override; |
| 876 | 876 |
| 877 Code::Kind GetCodeKind() const override { return Code::HANDLER; } | 877 Code::Kind GetCodeKind() const override { return Code::HANDLER; } |
| 878 ExtraICState GetExtraICState() const override { return Code::STORE_IC; } |
| 879 InlineCacheState GetICState() const override { return MONOMORPHIC; } |
| 878 | 880 |
| 879 DEFINE_CALL_INTERFACE_DESCRIPTOR(Store); | 881 DEFINE_CALL_INTERFACE_DESCRIPTOR(Store); |
| 880 DEFINE_CODE_STUB(StoreInterceptor, TurboFanCodeStub); | 882 DEFINE_CODE_STUB(StoreInterceptor, TurboFanCodeStub); |
| 881 }; | 883 }; |
| 882 | 884 |
| 883 class LoadIndexedInterceptorStub : public TurboFanCodeStub { | 885 class LoadIndexedInterceptorStub : public TurboFanCodeStub { |
| 884 public: | 886 public: |
| 885 explicit LoadIndexedInterceptorStub(Isolate* isolate) | 887 explicit LoadIndexedInterceptorStub(Isolate* isolate) |
| 886 : TurboFanCodeStub(isolate) {} | 888 : TurboFanCodeStub(isolate) {} |
| 887 | 889 |
| 888 Code::Kind GetCodeKind() const override { return Code::HANDLER; } | 890 Code::Kind GetCodeKind() const override { return Code::HANDLER; } |
| 891 ExtraICState GetExtraICState() const override { return Code::KEYED_LOAD_IC; } |
| 892 InlineCacheState GetICState() const override { return MONOMORPHIC; } |
| 889 | 893 |
| 890 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector); | 894 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector); |
| 891 DEFINE_TURBOFAN_CODE_STUB(LoadIndexedInterceptor, TurboFanCodeStub); | 895 DEFINE_TURBOFAN_CODE_STUB(LoadIndexedInterceptor, TurboFanCodeStub); |
| 892 }; | 896 }; |
| 893 | 897 |
| 894 enum StringAddFlags { | 898 enum StringAddFlags { |
| 895 // Omit both parameter checks. | 899 // Omit both parameter checks. |
| 896 STRING_ADD_CHECK_NONE = 0, | 900 STRING_ADD_CHECK_NONE = 0, |
| 897 // Check left parameter. | 901 // Check left parameter. |
| 898 STRING_ADD_CHECK_LEFT = 1 << 0, | 902 STRING_ADD_CHECK_LEFT = 1 << 0, |
| (...skipping 2209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3108 #undef DEFINE_HYDROGEN_CODE_STUB | 3112 #undef DEFINE_HYDROGEN_CODE_STUB |
| 3109 #undef DEFINE_CODE_STUB | 3113 #undef DEFINE_CODE_STUB |
| 3110 #undef DEFINE_CODE_STUB_BASE | 3114 #undef DEFINE_CODE_STUB_BASE |
| 3111 | 3115 |
| 3112 extern Representation RepresentationFromType(Type* type); | 3116 extern Representation RepresentationFromType(Type* type); |
| 3113 | 3117 |
| 3114 } // namespace internal | 3118 } // namespace internal |
| 3115 } // namespace v8 | 3119 } // namespace v8 |
| 3116 | 3120 |
| 3117 #endif // V8_CODE_STUBS_H_ | 3121 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |