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(DivideWithFeedback) \ | 95 V(DivideWithFeedback) \ |
96 V(ModulusWithFeedback) \ | 96 V(ModulusWithFeedback) \ |
97 V(Inc) \ | 97 V(Inc) \ |
98 V(InternalArrayNoArgumentConstructor) \ | 98 V(InternalArrayNoArgumentConstructor) \ |
99 V(InternalArraySingleArgumentConstructor) \ | 99 V(InternalArraySingleArgumentConstructor) \ |
100 V(Dec) \ | 100 V(Dec) \ |
101 V(ElementsTransitionAndStore) \ | 101 V(ElementsTransitionAndStore) \ |
102 V(FastCloneRegExp) \ | 102 V(FastCloneRegExp) \ |
103 V(FastCloneShallowArray) \ | 103 V(FastCloneShallowArray) \ |
104 V(FastCloneShallowObject) \ | 104 V(FastCloneShallowObject) \ |
105 V(FastNewClosure) \ | |
106 V(FastNewFunctionContext) \ | 105 V(FastNewFunctionContext) \ |
107 V(KeyedLoadSloppyArguments) \ | 106 V(KeyedLoadSloppyArguments) \ |
108 V(KeyedStoreSloppyArguments) \ | 107 V(KeyedStoreSloppyArguments) \ |
109 V(LoadScriptContextField) \ | 108 V(LoadScriptContextField) \ |
110 V(StoreScriptContextField) \ | 109 V(StoreScriptContextField) \ |
111 V(NumberToString) \ | 110 V(NumberToString) \ |
112 V(StringAdd) \ | 111 V(StringAdd) \ |
113 V(GetProperty) \ | 112 V(GetProperty) \ |
114 V(LoadIC) \ | 113 V(LoadIC) \ |
115 V(LoadICProtoArray) \ | 114 V(LoadICProtoArray) \ |
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 }; | 780 }; |
782 | 781 |
783 class NumberToStringStub final : public TurboFanCodeStub { | 782 class NumberToStringStub final : public TurboFanCodeStub { |
784 public: | 783 public: |
785 explicit NumberToStringStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 784 explicit NumberToStringStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
786 | 785 |
787 DEFINE_CALL_INTERFACE_DESCRIPTOR(TypeConversion); | 786 DEFINE_CALL_INTERFACE_DESCRIPTOR(TypeConversion); |
788 DEFINE_TURBOFAN_CODE_STUB(NumberToString, TurboFanCodeStub); | 787 DEFINE_TURBOFAN_CODE_STUB(NumberToString, TurboFanCodeStub); |
789 }; | 788 }; |
790 | 789 |
791 class FastNewClosureStub : public TurboFanCodeStub { | |
792 public: | |
793 explicit FastNewClosureStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | |
794 | |
795 static compiler::Node* Generate(CodeStubAssembler* assembler, | |
796 compiler::Node* shared_info, | |
797 compiler::Node* context); | |
798 | |
799 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewClosure); | |
800 DEFINE_TURBOFAN_CODE_STUB(FastNewClosure, TurboFanCodeStub); | |
801 }; | |
802 | |
803 class FastNewFunctionContextStub final : public TurboFanCodeStub { | 790 class FastNewFunctionContextStub final : public TurboFanCodeStub { |
804 public: | 791 public: |
805 static int MaximumSlots(); | 792 static int MaximumSlots(); |
806 | 793 |
807 explicit FastNewFunctionContextStub(Isolate* isolate, ScopeType scope_type) | 794 explicit FastNewFunctionContextStub(Isolate* isolate, ScopeType scope_type) |
808 : TurboFanCodeStub(isolate) { | 795 : TurboFanCodeStub(isolate) { |
809 minor_key_ = ScopeTypeBits::encode(scope_type); | 796 minor_key_ = ScopeTypeBits::encode(scope_type); |
810 } | 797 } |
811 | 798 |
812 static compiler::Node* Generate(CodeStubAssembler* assembler, | 799 static compiler::Node* Generate(CodeStubAssembler* assembler, |
(...skipping 1673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2486 #undef DEFINE_PLATFORM_CODE_STUB | 2473 #undef DEFINE_PLATFORM_CODE_STUB |
2487 #undef DEFINE_HANDLER_CODE_STUB | 2474 #undef DEFINE_HANDLER_CODE_STUB |
2488 #undef DEFINE_HYDROGEN_CODE_STUB | 2475 #undef DEFINE_HYDROGEN_CODE_STUB |
2489 #undef DEFINE_CODE_STUB | 2476 #undef DEFINE_CODE_STUB |
2490 #undef DEFINE_CODE_STUB_BASE | 2477 #undef DEFINE_CODE_STUB_BASE |
2491 | 2478 |
2492 } // namespace internal | 2479 } // namespace internal |
2493 } // namespace v8 | 2480 } // namespace v8 |
2494 | 2481 |
2495 #endif // V8_CODE_STUBS_H_ | 2482 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |