OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_BUILTINS_BUILTINS_H_ | 5 #ifndef V8_BUILTINS_BUILTINS_H_ |
6 #define V8_BUILTINS_BUILTINS_H_ | 6 #define V8_BUILTINS_BUILTINS_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 | 10 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 TFS(FastCloneShallowObject5, BUILTIN, kNoExtraICState, \ | 112 TFS(FastCloneShallowObject5, BUILTIN, kNoExtraICState, \ |
113 FastCloneShallowObject) \ | 113 FastCloneShallowObject) \ |
114 TFS(FastCloneShallowObject6, BUILTIN, kNoExtraICState, \ | 114 TFS(FastCloneShallowObject6, BUILTIN, kNoExtraICState, \ |
115 FastCloneShallowObject) \ | 115 FastCloneShallowObject) \ |
116 \ | 116 \ |
117 /* Apply and entries */ \ | 117 /* Apply and entries */ \ |
118 ASM(Apply) \ | 118 ASM(Apply) \ |
119 ASM(JSEntryTrampoline) \ | 119 ASM(JSEntryTrampoline) \ |
120 ASM(JSConstructEntryTrampoline) \ | 120 ASM(JSConstructEntryTrampoline) \ |
121 ASM(ResumeGeneratorTrampoline) \ | 121 ASM(ResumeGeneratorTrampoline) \ |
| 122 ASM(ResumeAwaitedGeneratorTrampoline) \ |
122 \ | 123 \ |
123 /* Stack and interrupt check */ \ | 124 /* Stack and interrupt check */ \ |
124 ASM(InterruptCheck) \ | 125 ASM(InterruptCheck) \ |
125 ASM(StackCheck) \ | 126 ASM(StackCheck) \ |
126 \ | 127 \ |
127 /* String helpers */ \ | 128 /* String helpers */ \ |
128 TFS(StringEqual, BUILTIN, kNoExtraICState, Compare) \ | 129 TFS(StringEqual, BUILTIN, kNoExtraICState, Compare) \ |
129 TFS(StringNotEqual, BUILTIN, kNoExtraICState, Compare) \ | 130 TFS(StringNotEqual, BUILTIN, kNoExtraICState, Compare) \ |
130 TFS(StringLessThan, BUILTIN, kNoExtraICState, Compare) \ | 131 TFS(StringLessThan, BUILTIN, kNoExtraICState, Compare) \ |
131 TFS(StringLessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ | 132 TFS(StringLessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
764 TFJ(TypedArrayPrototypeByteLength, 0) \ | 765 TFJ(TypedArrayPrototypeByteLength, 0) \ |
765 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \ | 766 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \ |
766 TFJ(TypedArrayPrototypeByteOffset, 0) \ | 767 TFJ(TypedArrayPrototypeByteOffset, 0) \ |
767 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \ | 768 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \ |
768 TFJ(TypedArrayPrototypeLength, 0) \ | 769 TFJ(TypedArrayPrototypeLength, 0) \ |
769 /* ES6 #sec-%typedarray%.prototype.entries */ \ | 770 /* ES6 #sec-%typedarray%.prototype.entries */ \ |
770 TFJ(TypedArrayPrototypeEntries, 0) \ | 771 TFJ(TypedArrayPrototypeEntries, 0) \ |
771 /* ES6 #sec-%typedarray%.prototype.keys */ \ | 772 /* ES6 #sec-%typedarray%.prototype.keys */ \ |
772 TFJ(TypedArrayPrototypeKeys, 0) \ | 773 TFJ(TypedArrayPrototypeKeys, 0) \ |
773 /* ES6 #sec-%typedarray%.prototype.values */ \ | 774 /* ES6 #sec-%typedarray%.prototype.values */ \ |
774 TFJ(TypedArrayPrototypeValues, 0) | 775 TFJ(TypedArrayPrototypeValues, 0) \ |
| 776 \ |
| 777 /* AsyncGenerator builtins */ \ |
| 778 \ |
| 779 /* AsyncGeneratorFunction( p1, p2, ... pn, body ) */ \ |
| 780 /* proposal-async-iteration/#sec-asyncgeneratorfunction-constructor */ \ |
| 781 CPP(AsyncGeneratorFunctionConstructor) \ |
| 782 /* AsyncGenerator.prototype.next ( value ) */ \ |
| 783 /* proposal-async-iteration/#sec-asyncgenerator-prototype-next */ \ |
| 784 TFJ(AsyncGeneratorPrototypeNext, 1) \ |
| 785 /* AsyncGenerator.prototype.return ( value ) */ \ |
| 786 /* proposal-async-iteration/#sec-asyncgenerator-prototype-return */ \ |
| 787 TFJ(AsyncGeneratorPrototypeReturn, 1) \ |
| 788 /* AsyncGenerator.prototype.throw ( exception ) */ \ |
| 789 /* proposal-async-iteration/#sec-asyncgenerator-prototype-throw */ \ |
| 790 TFJ(AsyncGeneratorPrototypeThrow, 1) \ |
| 791 \ |
| 792 /* Await (proposal-async-iteration/#await), with resume behaviour */ \ |
| 793 /* specific to Async Generators. Internal / Not exposed to JS code. */ \ |
| 794 TFJ(AsyncGeneratorAwaitCaught, 2) \ |
| 795 TFJ(AsyncGeneratorAwaitUncaught, 2) \ |
| 796 TFJ(AsyncGeneratorAwaitResolveClosure, 1) \ |
| 797 TFJ(AsyncGeneratorAwaitRejectClosure, 1) \ |
| 798 \ |
| 799 /* GeneratorYield (proposal-async-iteration/#sec-generatoryield) with */ \ |
| 800 /* resume behaviour specific to Async Generators. Internal / not exposed */ \ |
| 801 /* to JS code. */ \ |
| 802 TFJ(AsyncGeneratorYield, 1) \ |
| 803 TFJ(AsyncGeneratorRawYield, 1) \ |
| 804 \ |
| 805 /* Async-from-Sync Iterator builtins */ \ |
| 806 \ |
| 807 /* %AsyncFromSyncIteratorPrototype% */ \ |
| 808 /* (proposal-async-iteration/#sec-%asyncfromsynciteratorprototype%-object)*/ \ |
| 809 TFJ(AsyncFromSyncIteratorPrototypeNext, 1) \ |
| 810 TFJ(AsyncFromSyncIteratorPrototypeThrow, 1) \ |
| 811 TFJ(AsyncFromSyncIteratorPrototypeReturn, 1) \ |
| 812 \ |
| 813 /* proposal-async-iteration/#sec-async-iterator-value-unwrap-functions */ \ |
| 814 TFJ(AsyncIteratorValueUnwrap, 1) |
775 | 815 |
776 #define IGNORE_BUILTIN(...) | 816 #define IGNORE_BUILTIN(...) |
777 | 817 |
778 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) | 818 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) |
779 | 819 |
780 #define BUILTIN_LIST_C(V) \ | 820 #define BUILTIN_LIST_C(V) \ |
781 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ | 821 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ |
782 IGNORE_BUILTIN, IGNORE_BUILTIN) | 822 IGNORE_BUILTIN, IGNORE_BUILTIN) |
783 | 823 |
784 #define BUILTIN_LIST_A(V) \ | 824 #define BUILTIN_LIST_A(V) \ |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 | 957 |
918 friend class Isolate; | 958 friend class Isolate; |
919 | 959 |
920 DISALLOW_COPY_AND_ASSIGN(Builtins); | 960 DISALLOW_COPY_AND_ASSIGN(Builtins); |
921 }; | 961 }; |
922 | 962 |
923 } // namespace internal | 963 } // namespace internal |
924 } // namespace v8 | 964 } // namespace v8 |
925 | 965 |
926 #endif // V8_BUILTINS_BUILTINS_H_ | 966 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |