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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 V(StoreGlobalViaContext) \ | 95 V(StoreGlobalViaContext) \ |
96 V(StoreScriptContextField) \ | 96 V(StoreScriptContextField) \ |
97 V(StringAdd) \ | 97 V(StringAdd) \ |
98 V(ToBooleanIC) \ | 98 V(ToBooleanIC) \ |
99 V(TransitionElementsKind) \ | 99 V(TransitionElementsKind) \ |
100 V(KeyedLoadIC) \ | 100 V(KeyedLoadIC) \ |
101 V(LoadIC) \ | 101 V(LoadIC) \ |
102 /* TurboFanCodeStubs */ \ | 102 /* TurboFanCodeStubs */ \ |
103 V(StringLength) \ | 103 V(StringLength) \ |
104 V(StrictEqual) \ | 104 V(StrictEqual) \ |
| 105 V(StrictNotEqual) \ |
105 V(ToBoolean) \ | 106 V(ToBoolean) \ |
106 /* IC Handler stubs */ \ | 107 /* IC Handler stubs */ \ |
107 V(ArrayBufferViewLoadField) \ | 108 V(ArrayBufferViewLoadField) \ |
108 V(LoadConstant) \ | 109 V(LoadConstant) \ |
109 V(LoadFastElement) \ | 110 V(LoadFastElement) \ |
110 V(LoadField) \ | 111 V(LoadField) \ |
111 V(KeyedLoadSloppyArguments) \ | 112 V(KeyedLoadSloppyArguments) \ |
112 V(KeyedStoreSloppyArguments) \ | 113 V(KeyedStoreSloppyArguments) \ |
113 V(StoreField) \ | 114 V(StoreField) \ |
114 V(StoreGlobal) \ | 115 V(StoreGlobal) \ |
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 class StrictEqualStub final : public TurboFanCodeStub { | 636 class StrictEqualStub final : public TurboFanCodeStub { |
636 public: | 637 public: |
637 explicit StrictEqualStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 638 explicit StrictEqualStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
638 | 639 |
639 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const final; | 640 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const final; |
640 | 641 |
641 DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare); | 642 DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare); |
642 DEFINE_CODE_STUB(StrictEqual, TurboFanCodeStub); | 643 DEFINE_CODE_STUB(StrictEqual, TurboFanCodeStub); |
643 }; | 644 }; |
644 | 645 |
| 646 class StrictNotEqualStub final : public TurboFanCodeStub { |
| 647 public: |
| 648 explicit StrictNotEqualStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 649 |
| 650 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const final; |
| 651 |
| 652 DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare); |
| 653 DEFINE_CODE_STUB(StrictNotEqual, TurboFanCodeStub); |
| 654 }; |
| 655 |
645 class ToBooleanStub final : public TurboFanCodeStub { | 656 class ToBooleanStub final : public TurboFanCodeStub { |
646 public: | 657 public: |
647 explicit ToBooleanStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 658 explicit ToBooleanStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
648 | 659 |
649 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const final; | 660 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const final; |
650 | 661 |
651 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToBoolean); | 662 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToBoolean); |
652 DEFINE_CODE_STUB(ToBoolean, TurboFanCodeStub); | 663 DEFINE_CODE_STUB(ToBoolean, TurboFanCodeStub); |
653 }; | 664 }; |
654 | 665 |
(...skipping 2237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2892 #undef DEFINE_HYDROGEN_CODE_STUB | 2903 #undef DEFINE_HYDROGEN_CODE_STUB |
2893 #undef DEFINE_CODE_STUB | 2904 #undef DEFINE_CODE_STUB |
2894 #undef DEFINE_CODE_STUB_BASE | 2905 #undef DEFINE_CODE_STUB_BASE |
2895 | 2906 |
2896 extern Representation RepresentationFromType(Type* type); | 2907 extern Representation RepresentationFromType(Type* type); |
2897 | 2908 |
2898 } // namespace internal | 2909 } // namespace internal |
2899 } // namespace v8 | 2910 } // namespace v8 |
2900 | 2911 |
2901 #endif // V8_CODE_STUBS_H_ | 2912 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |