Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(832)

Side by Side Diff: src/builtins/builtins.h

Issue 2539093002: [runtime] Port simple String.prototype.indexOf cases to TF Builtin (Closed)
Patch Set: call runtime for large strings Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 27 matching lines...) Expand all
38 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function). 38 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function).
39 // Args: name, arguments count 39 // Args: name, arguments count
40 // TFS: Builtin in Turbofan, with CodeStub linkage. 40 // TFS: Builtin in Turbofan, with CodeStub linkage.
41 // Args: name, code kind, extra IC state, interface descriptor 41 // Args: name, code kind, extra IC state, interface descriptor
42 // ASM: Builtin in platform-dependent assembly. 42 // ASM: Builtin in platform-dependent assembly.
43 // Args: name 43 // Args: name
44 // ASH: Handlers implemented in platform-dependent assembly. 44 // ASH: Handlers implemented in platform-dependent assembly.
45 // Args: name, code kind, extra IC state 45 // Args: name, code kind, extra IC state
46 // DBG: Builtin in platform-dependent assembly, used by the debugger. 46 // DBG: Builtin in platform-dependent assembly, used by the debugger.
47 // Args: name 47 // Args: name
48 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ 48 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \
49 ASM(Abort) \ 49 ASM(Abort) \
50 /* Code aging */ \ 50 /* Code aging */ \
51 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 51 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
52 \ 52 \
53 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \ 53 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \
54 \ 54 \
55 /* Calls */ \ 55 /* Calls */ \
56 ASM(ArgumentsAdaptorTrampoline) \ 56 ASM(ArgumentsAdaptorTrampoline) \
57 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ 57 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \
58 ASM(CallFunction_ReceiverIsNullOrUndefined) \ 58 ASM(CallFunction_ReceiverIsNullOrUndefined) \
59 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ 59 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \
60 ASM(CallFunction_ReceiverIsAny) \ 60 ASM(CallFunction_ReceiverIsAny) \
61 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ 61 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \
62 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ 62 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \
63 ASM(TailCallFunction_ReceiverIsAny) \ 63 ASM(TailCallFunction_ReceiverIsAny) \
64 /* ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList) */ \ 64 /* ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList) */ \
65 ASM(CallBoundFunction) \ 65 ASM(CallBoundFunction) \
66 ASM(TailCallBoundFunction) \ 66 ASM(TailCallBoundFunction) \
67 /* ES6 section 7.3.12 Call(F, V, [argumentsList]) */ \ 67 /* ES6 section 7.3.12 Call(F, V, [argumentsList]) */ \
68 ASM(Call_ReceiverIsNullOrUndefined) \ 68 ASM(Call_ReceiverIsNullOrUndefined) \
69 ASM(Call_ReceiverIsNotNullOrUndefined) \ 69 ASM(Call_ReceiverIsNotNullOrUndefined) \
70 ASM(Call_ReceiverIsAny) \ 70 ASM(Call_ReceiverIsAny) \
71 ASM(TailCall_ReceiverIsNullOrUndefined) \ 71 ASM(TailCall_ReceiverIsNullOrUndefined) \
72 ASM(TailCall_ReceiverIsNotNullOrUndefined) \ 72 ASM(TailCall_ReceiverIsNotNullOrUndefined) \
73 ASM(TailCall_ReceiverIsAny) \ 73 ASM(TailCall_ReceiverIsAny) \
74 \ 74 \
75 /* Construct */ \ 75 /* Construct */ \
76 /* ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) */ \ 76 /* ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) */ \
77 ASM(ConstructFunction) \ 77 ASM(ConstructFunction) \
78 /* ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget) */ \ 78 /* ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget) */ \
79 ASM(ConstructBoundFunction) \ 79 ASM(ConstructBoundFunction) \
80 ASM(ConstructedNonConstructable) \ 80 ASM(ConstructedNonConstructable) \
81 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ 81 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \
82 ASM(ConstructProxy) \ 82 ASM(ConstructProxy) \
83 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ 83 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \
84 ASM(Construct) \ 84 ASM(Construct) \
85 ASM(JSConstructStubApi) \ 85 ASM(JSConstructStubApi) \
86 ASM(JSConstructStubGeneric) \ 86 ASM(JSConstructStubGeneric) \
87 ASM(JSBuiltinsConstructStub) \ 87 ASM(JSBuiltinsConstructStub) \
88 ASM(JSBuiltinsConstructStubForDerived) \ 88 ASM(JSBuiltinsConstructStubForDerived) \
89 \ 89 \
90 /* Apply and entries */ \ 90 /* Apply and entries */ \
91 ASM(Apply) \ 91 ASM(Apply) \
92 ASM(JSEntryTrampoline) \ 92 ASM(JSEntryTrampoline) \
93 ASM(JSConstructEntryTrampoline) \ 93 ASM(JSConstructEntryTrampoline) \
94 ASM(ResumeGeneratorTrampoline) \ 94 ASM(ResumeGeneratorTrampoline) \
95 \ 95 \
96 /* Stack and interrupt check */ \ 96 /* Stack and interrupt check */ \
97 ASM(InterruptCheck) \ 97 ASM(InterruptCheck) \
98 ASM(StackCheck) \ 98 ASM(StackCheck) \
99 \ 99 \
100 /* String helpers */ \ 100 /* String helpers */ \
101 TFS(StringEqual, BUILTIN, kNoExtraICState, Compare) \ 101 TFS(StringEqual, BUILTIN, kNoExtraICState, Compare) \
102 TFS(StringNotEqual, BUILTIN, kNoExtraICState, Compare) \ 102 TFS(StringNotEqual, BUILTIN, kNoExtraICState, Compare) \
103 TFS(StringLessThan, BUILTIN, kNoExtraICState, Compare) \ 103 TFS(StringLessThan, BUILTIN, kNoExtraICState, Compare) \
104 TFS(StringLessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ 104 TFS(StringLessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \
105 TFS(StringGreaterThan, BUILTIN, kNoExtraICState, Compare) \ 105 TFS(StringGreaterThan, BUILTIN, kNoExtraICState, Compare) \
106 TFS(StringGreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ 106 TFS(StringGreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \
107 \ 107 \
108 /* Interpreter */ \ 108 /* Interpreter */ \
109 ASM(InterpreterEntryTrampoline) \ 109 ASM(InterpreterEntryTrampoline) \
110 ASM(InterpreterPushArgsAndCall) \ 110 ASM(InterpreterPushArgsAndCall) \
111 ASM(InterpreterPushArgsAndCallFunction) \ 111 ASM(InterpreterPushArgsAndCallFunction) \
112 ASM(InterpreterPushArgsAndTailCall) \ 112 ASM(InterpreterPushArgsAndTailCall) \
113 ASM(InterpreterPushArgsAndTailCallFunction) \ 113 ASM(InterpreterPushArgsAndTailCallFunction) \
114 ASM(InterpreterPushArgsAndConstruct) \ 114 ASM(InterpreterPushArgsAndConstruct) \
115 ASM(InterpreterPushArgsAndConstructFunction) \ 115 ASM(InterpreterPushArgsAndConstructFunction) \
116 ASM(InterpreterPushArgsAndConstructArray) \ 116 ASM(InterpreterPushArgsAndConstructArray) \
117 ASM(InterpreterEnterBytecodeAdvance) \ 117 ASM(InterpreterEnterBytecodeAdvance) \
118 ASM(InterpreterEnterBytecodeDispatch) \ 118 ASM(InterpreterEnterBytecodeDispatch) \
119 ASM(InterpreterOnStackReplacement) \ 119 ASM(InterpreterOnStackReplacement) \
120 \ 120 \
121 /* Code life-cycle */ \ 121 /* Code life-cycle */ \
122 ASM(CompileLazy) \ 122 ASM(CompileLazy) \
123 ASM(CompileBaseline) \ 123 ASM(CompileBaseline) \
124 ASM(CompileOptimized) \ 124 ASM(CompileOptimized) \
125 ASM(CompileOptimizedConcurrent) \ 125 ASM(CompileOptimizedConcurrent) \
126 ASM(InOptimizationQueue) \ 126 ASM(InOptimizationQueue) \
127 ASM(InstantiateAsmJs) \ 127 ASM(InstantiateAsmJs) \
128 ASM(MarkCodeAsToBeExecutedOnce) \ 128 ASM(MarkCodeAsToBeExecutedOnce) \
129 ASM(MarkCodeAsExecutedOnce) \ 129 ASM(MarkCodeAsExecutedOnce) \
130 ASM(MarkCodeAsExecutedTwice) \ 130 ASM(MarkCodeAsExecutedTwice) \
131 ASM(NotifyDeoptimized) \ 131 ASM(NotifyDeoptimized) \
132 ASM(NotifySoftDeoptimized) \ 132 ASM(NotifySoftDeoptimized) \
133 ASM(NotifyLazyDeoptimized) \ 133 ASM(NotifyLazyDeoptimized) \
134 ASM(NotifyStubFailure) \ 134 ASM(NotifyStubFailure) \
135 ASM(NotifyStubFailureSaveDoubles) \ 135 ASM(NotifyStubFailureSaveDoubles) \
136 ASM(OnStackReplacement) \ 136 ASM(OnStackReplacement) \
137 \ 137 \
138 /* API callback handling */ \ 138 /* API callback handling */ \
139 API(HandleApiCall) \ 139 API(HandleApiCall) \
140 API(HandleApiCallAsFunction) \ 140 API(HandleApiCallAsFunction) \
141 API(HandleApiCallAsConstructor) \ 141 API(HandleApiCallAsConstructor) \
142 ASM(HandleFastApiCall) \ 142 ASM(HandleFastApiCall) \
143 \ 143 \
144 /* Adapters for Turbofan into runtime */ \ 144 /* Adapters for Turbofan into runtime */ \
145 ASM(AllocateInNewSpace) \ 145 ASM(AllocateInNewSpace) \
146 ASM(AllocateInOldSpace) \ 146 ASM(AllocateInOldSpace) \
147 \ 147 \
148 /* TurboFan support builtins */ \ 148 /* TurboFan support builtins */ \
149 TFS(CopyFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ 149 TFS(CopyFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \
150 CopyFastSmiOrObjectElements) \ 150 CopyFastSmiOrObjectElements) \
151 TFS(GrowFastDoubleElements, BUILTIN, kNoExtraICState, GrowArrayElements) \ 151 TFS(GrowFastDoubleElements, BUILTIN, kNoExtraICState, GrowArrayElements) \
152 TFS(GrowFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ 152 TFS(GrowFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \
153 GrowArrayElements) \ 153 GrowArrayElements) \
154 \ 154 \
155 /* Debugger */ \ 155 /* Debugger */ \
156 DBG(FrameDropper_LiveEdit) \ 156 DBG(FrameDropper_LiveEdit) \
157 DBG(Return_DebugBreak) \ 157 DBG(Return_DebugBreak) \
158 DBG(Slot_DebugBreak) \ 158 DBG(Slot_DebugBreak) \
159 \ 159 \
160 /* Type conversions */ \ 160 /* Type conversions */ \
161 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \ 161 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \
162 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \ 162 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \
163 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \ 163 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \
164 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \ 164 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \
165 TypeConversion) \ 165 TypeConversion) \
166 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ 166 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \
167 TypeConversion) \ 167 TypeConversion) \
168 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ 168 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \
169 TypeConversion) \ 169 TypeConversion) \
170 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 170 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
171 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \ 171 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \
172 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 172 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
173 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 173 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
174 TFS(ToString, BUILTIN, kNoExtraICState, TypeConversion) \ 174 TFS(ToString, BUILTIN, kNoExtraICState, TypeConversion) \
175 TFS(ToInteger, BUILTIN, kNoExtraICState, TypeConversion) \ 175 TFS(ToInteger, BUILTIN, kNoExtraICState, TypeConversion) \
176 TFS(ToLength, BUILTIN, kNoExtraICState, TypeConversion) \ 176 TFS(ToLength, BUILTIN, kNoExtraICState, TypeConversion) \
177 TFS(Typeof, BUILTIN, kNoExtraICState, Typeof) \ 177 TFS(Typeof, BUILTIN, kNoExtraICState, Typeof) \
178 \ 178 \
179 /* Handlers */ \ 179 /* Handlers */ \
180 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \ 180 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \
181 LoadWithVector) \ 181 LoadWithVector) \
182 ASM(KeyedLoadIC_Miss) \ 182 ASM(KeyedLoadIC_Miss) \
183 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \ 183 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \
184 TFS(KeyedStoreIC_Megamorphic_TF, KEYED_STORE_IC, kNoExtraICState, \ 184 TFS(KeyedStoreIC_Megamorphic_TF, KEYED_STORE_IC, kNoExtraICState, \
185 StoreWithVector) \ 185 StoreWithVector) \
186 TFS(KeyedStoreIC_Megamorphic_Strict_TF, KEYED_STORE_IC, \ 186 TFS(KeyedStoreIC_Megamorphic_Strict_TF, KEYED_STORE_IC, \
187 StoreICState::kStrictModeState, StoreWithVector) \ 187 StoreICState::kStrictModeState, StoreWithVector) \
188 ASM(KeyedStoreIC_Miss) \ 188 ASM(KeyedStoreIC_Miss) \
189 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \ 189 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \
190 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ 190 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \
191 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \ 191 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \
192 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \ 192 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
193 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ 193 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
194 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \ 194 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \
195 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ 195 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
196 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ 196 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
197 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \ 197 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \
198 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \ 198 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
199 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \ 199 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \
200 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \ 200 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \
201 \ 201 \
202 /* Built-in functions for Javascript */ \ 202 /* Built-in functions for Javascript */ \
203 /* Special internal builtins */ \ 203 /* Special internal builtins */ \
204 CPP(EmptyFunction) \ 204 CPP(EmptyFunction) \
205 CPP(Illegal) \ 205 CPP(Illegal) \
206 CPP(RestrictedFunctionPropertiesThrower) \ 206 CPP(RestrictedFunctionPropertiesThrower) \
207 CPP(RestrictedStrictArgumentsPropertiesThrower) \ 207 CPP(RestrictedStrictArgumentsPropertiesThrower) \
208 CPP(UnsupportedThrower) \ 208 CPP(UnsupportedThrower) \
209 \ 209 \
210 /* Array */ \ 210 /* Array */ \
211 ASM(ArrayCode) \ 211 ASM(ArrayCode) \
212 ASM(InternalArrayCode) \ 212 ASM(InternalArrayCode) \
213 CPP(ArrayConcat) \ 213 CPP(ArrayConcat) \
214 /* ES6 section 22.1.2.2 Array.isArray */ \ 214 /* ES6 section 22.1.2.2 Array.isArray */ \
215 TFJ(ArrayIsArray, 1) \ 215 TFJ(ArrayIsArray, 1) \
216 /* ES7 #sec-array.prototype.includes */ \ 216 /* ES7 #sec-array.prototype.includes */ \
217 TFJ(ArrayIncludes, 2) \ 217 TFJ(ArrayIncludes, 2) \
218 TFJ(ArrayIndexOf, 2) \ 218 TFJ(ArrayIndexOf, 2) \
219 CPP(ArrayPop) \ 219 CPP(ArrayPop) \
220 CPP(ArrayPush) \ 220 CPP(ArrayPush) \
221 TFJ(FastArrayPush, -1) \ 221 TFJ(FastArrayPush, -1) \
222 CPP(ArrayShift) \ 222 CPP(ArrayShift) \
223 CPP(ArraySlice) \ 223 CPP(ArraySlice) \
224 CPP(ArraySplice) \ 224 CPP(ArraySplice) \
225 CPP(ArrayUnshift) \ 225 CPP(ArrayUnshift) \
226 /* ES6 #sec-array.prototype.entries */ \ 226 /* ES6 #sec-array.prototype.entries */ \
227 TFJ(ArrayPrototypeEntries, 0) \ 227 TFJ(ArrayPrototypeEntries, 0) \
228 /* ES6 #sec-array.prototype.keys */ \ 228 /* ES6 #sec-array.prototype.keys */ \
229 TFJ(ArrayPrototypeKeys, 0) \ 229 TFJ(ArrayPrototypeKeys, 0) \
230 /* ES6 #sec-array.prototype.values */ \ 230 /* ES6 #sec-array.prototype.values */ \
231 TFJ(ArrayPrototypeValues, 0) \ 231 TFJ(ArrayPrototypeValues, 0) \
232 /* ES6 #sec-%arrayiteratorprototype%.next */ \ 232 /* ES6 #sec-%arrayiteratorprototype%.next */ \
233 TFJ(ArrayIteratorPrototypeNext, 0) \ 233 TFJ(ArrayIteratorPrototypeNext, 0) \
234 \ 234 \
235 /* ArrayBuffer */ \ 235 /* ArrayBuffer */ \
236 CPP(ArrayBufferConstructor) \ 236 CPP(ArrayBufferConstructor) \
237 CPP(ArrayBufferConstructor_ConstructStub) \ 237 CPP(ArrayBufferConstructor_ConstructStub) \
238 CPP(ArrayBufferPrototypeGetByteLength) \ 238 CPP(ArrayBufferPrototypeGetByteLength) \
239 CPP(ArrayBufferIsView) \ 239 CPP(ArrayBufferIsView) \
240 \ 240 \
241 /* Boolean */ \ 241 /* Boolean */ \
242 CPP(BooleanConstructor) \ 242 CPP(BooleanConstructor) \
243 CPP(BooleanConstructor_ConstructStub) \ 243 CPP(BooleanConstructor_ConstructStub) \
244 /* ES6 section 19.3.3.2 Boolean.prototype.toString ( ) */ \ 244 /* ES6 section 19.3.3.2 Boolean.prototype.toString ( ) */ \
245 TFJ(BooleanPrototypeToString, 0) \ 245 TFJ(BooleanPrototypeToString, 0) \
246 /* ES6 section 19.3.3.3 Boolean.prototype.valueOf ( ) */ \ 246 /* ES6 section 19.3.3.3 Boolean.prototype.valueOf ( ) */ \
247 TFJ(BooleanPrototypeValueOf, 0) \ 247 TFJ(BooleanPrototypeValueOf, 0) \
248 \ 248 \
249 /* CallSite */ \ 249 /* CallSite */ \
250 CPP(CallSitePrototypeGetColumnNumber) \ 250 CPP(CallSitePrototypeGetColumnNumber) \
251 CPP(CallSitePrototypeGetEvalOrigin) \ 251 CPP(CallSitePrototypeGetEvalOrigin) \
252 CPP(CallSitePrototypeGetFileName) \ 252 CPP(CallSitePrototypeGetFileName) \
253 CPP(CallSitePrototypeGetFunction) \ 253 CPP(CallSitePrototypeGetFunction) \
254 CPP(CallSitePrototypeGetFunctionName) \ 254 CPP(CallSitePrototypeGetFunctionName) \
255 CPP(CallSitePrototypeGetLineNumber) \ 255 CPP(CallSitePrototypeGetLineNumber) \
256 CPP(CallSitePrototypeGetMethodName) \ 256 CPP(CallSitePrototypeGetMethodName) \
257 CPP(CallSitePrototypeGetPosition) \ 257 CPP(CallSitePrototypeGetPosition) \
258 CPP(CallSitePrototypeGetScriptNameOrSourceURL) \ 258 CPP(CallSitePrototypeGetScriptNameOrSourceURL) \
259 CPP(CallSitePrototypeGetThis) \ 259 CPP(CallSitePrototypeGetThis) \
260 CPP(CallSitePrototypeGetTypeName) \ 260 CPP(CallSitePrototypeGetTypeName) \
261 CPP(CallSitePrototypeIsConstructor) \ 261 CPP(CallSitePrototypeIsConstructor) \
262 CPP(CallSitePrototypeIsEval) \ 262 CPP(CallSitePrototypeIsEval) \
263 CPP(CallSitePrototypeIsNative) \ 263 CPP(CallSitePrototypeIsNative) \
264 CPP(CallSitePrototypeIsToplevel) \ 264 CPP(CallSitePrototypeIsToplevel) \
265 CPP(CallSitePrototypeToString) \ 265 CPP(CallSitePrototypeToString) \
266 \ 266 \
267 /* DataView */ \ 267 /* DataView */ \
268 CPP(DataViewConstructor) \ 268 CPP(DataViewConstructor) \
269 CPP(DataViewConstructor_ConstructStub) \ 269 CPP(DataViewConstructor_ConstructStub) \
270 CPP(DataViewPrototypeGetBuffer) \ 270 CPP(DataViewPrototypeGetBuffer) \
271 CPP(DataViewPrototypeGetByteLength) \ 271 CPP(DataViewPrototypeGetByteLength) \
272 CPP(DataViewPrototypeGetByteOffset) \ 272 CPP(DataViewPrototypeGetByteOffset) \
273 CPP(DataViewPrototypeGetInt8) \ 273 CPP(DataViewPrototypeGetInt8) \
274 CPP(DataViewPrototypeSetInt8) \ 274 CPP(DataViewPrototypeSetInt8) \
275 CPP(DataViewPrototypeGetUint8) \ 275 CPP(DataViewPrototypeGetUint8) \
276 CPP(DataViewPrototypeSetUint8) \ 276 CPP(DataViewPrototypeSetUint8) \
277 CPP(DataViewPrototypeGetInt16) \ 277 CPP(DataViewPrototypeGetInt16) \
278 CPP(DataViewPrototypeSetInt16) \ 278 CPP(DataViewPrototypeSetInt16) \
279 CPP(DataViewPrototypeGetUint16) \ 279 CPP(DataViewPrototypeGetUint16) \
280 CPP(DataViewPrototypeSetUint16) \ 280 CPP(DataViewPrototypeSetUint16) \
281 CPP(DataViewPrototypeGetInt32) \ 281 CPP(DataViewPrototypeGetInt32) \
282 CPP(DataViewPrototypeSetInt32) \ 282 CPP(DataViewPrototypeSetInt32) \
283 CPP(DataViewPrototypeGetUint32) \ 283 CPP(DataViewPrototypeGetUint32) \
284 CPP(DataViewPrototypeSetUint32) \ 284 CPP(DataViewPrototypeSetUint32) \
285 CPP(DataViewPrototypeGetFloat32) \ 285 CPP(DataViewPrototypeGetFloat32) \
286 CPP(DataViewPrototypeSetFloat32) \ 286 CPP(DataViewPrototypeSetFloat32) \
287 CPP(DataViewPrototypeGetFloat64) \ 287 CPP(DataViewPrototypeGetFloat64) \
288 CPP(DataViewPrototypeSetFloat64) \ 288 CPP(DataViewPrototypeSetFloat64) \
289 \ 289 \
290 /* Date */ \ 290 /* Date */ \
291 CPP(DateConstructor) \ 291 CPP(DateConstructor) \
292 CPP(DateConstructor_ConstructStub) \ 292 CPP(DateConstructor_ConstructStub) \
293 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \ 293 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \
294 TFJ(DatePrototypeGetDate, 0) \ 294 TFJ(DatePrototypeGetDate, 0) \
295 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \ 295 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \
296 TFJ(DatePrototypeGetDay, 0) \ 296 TFJ(DatePrototypeGetDay, 0) \
297 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \ 297 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \
298 TFJ(DatePrototypeGetFullYear, 0) \ 298 TFJ(DatePrototypeGetFullYear, 0) \
299 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \ 299 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \
300 TFJ(DatePrototypeGetHours, 0) \ 300 TFJ(DatePrototypeGetHours, 0) \
301 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \ 301 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \
302 TFJ(DatePrototypeGetMilliseconds, 0) \ 302 TFJ(DatePrototypeGetMilliseconds, 0) \
303 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \ 303 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \
304 TFJ(DatePrototypeGetMinutes, 0) \ 304 TFJ(DatePrototypeGetMinutes, 0) \
305 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \ 305 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \
306 TFJ(DatePrototypeGetMonth, 0) \ 306 TFJ(DatePrototypeGetMonth, 0) \
307 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \ 307 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \
308 TFJ(DatePrototypeGetSeconds, 0) \ 308 TFJ(DatePrototypeGetSeconds, 0) \
309 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \ 309 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \
310 TFJ(DatePrototypeGetTime, 0) \ 310 TFJ(DatePrototypeGetTime, 0) \
311 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \ 311 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \
312 TFJ(DatePrototypeGetTimezoneOffset, 0) \ 312 TFJ(DatePrototypeGetTimezoneOffset, 0) \
313 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \ 313 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \
314 TFJ(DatePrototypeGetUTCDate, 0) \ 314 TFJ(DatePrototypeGetUTCDate, 0) \
315 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \ 315 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \
316 TFJ(DatePrototypeGetUTCDay, 0) \ 316 TFJ(DatePrototypeGetUTCDay, 0) \
317 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \ 317 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \
318 TFJ(DatePrototypeGetUTCFullYear, 0) \ 318 TFJ(DatePrototypeGetUTCFullYear, 0) \
319 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \ 319 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \
320 TFJ(DatePrototypeGetUTCHours, 0) \ 320 TFJ(DatePrototypeGetUTCHours, 0) \
321 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \ 321 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \
322 TFJ(DatePrototypeGetUTCMilliseconds, 0) \ 322 TFJ(DatePrototypeGetUTCMilliseconds, 0) \
323 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \ 323 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \
324 TFJ(DatePrototypeGetUTCMinutes, 0) \ 324 TFJ(DatePrototypeGetUTCMinutes, 0) \
325 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \ 325 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \
326 TFJ(DatePrototypeGetUTCMonth, 0) \ 326 TFJ(DatePrototypeGetUTCMonth, 0) \
327 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \ 327 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \
328 TFJ(DatePrototypeGetUTCSeconds, 0) \ 328 TFJ(DatePrototypeGetUTCSeconds, 0) \
329 CPP(DatePrototypeGetYear) \ 329 CPP(DatePrototypeGetYear) \
330 CPP(DatePrototypeSetYear) \ 330 CPP(DatePrototypeSetYear) \
331 CPP(DateNow) \ 331 CPP(DateNow) \
332 CPP(DateParse) \ 332 CPP(DateParse) \
333 CPP(DatePrototypeSetDate) \ 333 CPP(DatePrototypeSetDate) \
334 CPP(DatePrototypeSetFullYear) \ 334 CPP(DatePrototypeSetFullYear) \
335 CPP(DatePrototypeSetHours) \ 335 CPP(DatePrototypeSetHours) \
336 CPP(DatePrototypeSetMilliseconds) \ 336 CPP(DatePrototypeSetMilliseconds) \
337 CPP(DatePrototypeSetMinutes) \ 337 CPP(DatePrototypeSetMinutes) \
338 CPP(DatePrototypeSetMonth) \ 338 CPP(DatePrototypeSetMonth) \
339 CPP(DatePrototypeSetSeconds) \ 339 CPP(DatePrototypeSetSeconds) \
340 CPP(DatePrototypeSetTime) \ 340 CPP(DatePrototypeSetTime) \
341 CPP(DatePrototypeSetUTCDate) \ 341 CPP(DatePrototypeSetUTCDate) \
342 CPP(DatePrototypeSetUTCFullYear) \ 342 CPP(DatePrototypeSetUTCFullYear) \
343 CPP(DatePrototypeSetUTCHours) \ 343 CPP(DatePrototypeSetUTCHours) \
344 CPP(DatePrototypeSetUTCMilliseconds) \ 344 CPP(DatePrototypeSetUTCMilliseconds) \
345 CPP(DatePrototypeSetUTCMinutes) \ 345 CPP(DatePrototypeSetUTCMinutes) \
346 CPP(DatePrototypeSetUTCMonth) \ 346 CPP(DatePrototypeSetUTCMonth) \
347 CPP(DatePrototypeSetUTCSeconds) \ 347 CPP(DatePrototypeSetUTCSeconds) \
348 CPP(DatePrototypeToDateString) \ 348 CPP(DatePrototypeToDateString) \
349 CPP(DatePrototypeToISOString) \ 349 CPP(DatePrototypeToISOString) \
350 CPP(DatePrototypeToPrimitive) \ 350 CPP(DatePrototypeToPrimitive) \
351 CPP(DatePrototypeToUTCString) \ 351 CPP(DatePrototypeToUTCString) \
352 CPP(DatePrototypeToString) \ 352 CPP(DatePrototypeToString) \
353 CPP(DatePrototypeToTimeString) \ 353 CPP(DatePrototypeToTimeString) \
354 CPP(DatePrototypeValueOf) \ 354 CPP(DatePrototypeValueOf) \
355 CPP(DatePrototypeToJson) \ 355 CPP(DatePrototypeToJson) \
356 CPP(DateUTC) \ 356 CPP(DateUTC) \
357 \ 357 \
358 /* Error */ \ 358 /* Error */ \
359 CPP(ErrorConstructor) \ 359 CPP(ErrorConstructor) \
360 CPP(ErrorCaptureStackTrace) \ 360 CPP(ErrorCaptureStackTrace) \
361 CPP(ErrorPrototypeToString) \ 361 CPP(ErrorPrototypeToString) \
362 CPP(MakeError) \ 362 CPP(MakeError) \
363 CPP(MakeRangeError) \ 363 CPP(MakeRangeError) \
364 CPP(MakeSyntaxError) \ 364 CPP(MakeSyntaxError) \
365 CPP(MakeTypeError) \ 365 CPP(MakeTypeError) \
366 CPP(MakeURIError) \ 366 CPP(MakeURIError) \
367 \ 367 \
368 /* Function */ \ 368 /* Function */ \
369 CPP(FunctionConstructor) \ 369 CPP(FunctionConstructor) \
370 ASM(FunctionPrototypeApply) \ 370 ASM(FunctionPrototypeApply) \
371 CPP(FunctionPrototypeBind) \ 371 CPP(FunctionPrototypeBind) \
372 ASM(FunctionPrototypeCall) \ 372 ASM(FunctionPrototypeCall) \
373 /* ES6 section 19.2.3.6 Function.prototype [ @@hasInstance ] ( V ) */ \ 373 /* ES6 section 19.2.3.6 Function.prototype [ @@hasInstance ] ( V ) */ \
374 TFJ(FunctionPrototypeHasInstance, 1) \ 374 TFJ(FunctionPrototypeHasInstance, 1) \
375 CPP(FunctionPrototypeToString) \ 375 CPP(FunctionPrototypeToString) \
376 \ 376 \
377 /* Generator and Async */ \ 377 /* Generator and Async */ \
378 CPP(GeneratorFunctionConstructor) \ 378 CPP(GeneratorFunctionConstructor) \
379 /* ES6 section 25.3.1.2 Generator.prototype.next ( value ) */ \ 379 /* ES6 section 25.3.1.2 Generator.prototype.next ( value ) */ \
380 TFJ(GeneratorPrototypeNext, 1) \ 380 TFJ(GeneratorPrototypeNext, 1) \
381 /* ES6 section 25.3.1.3 Generator.prototype.return ( value ) */ \ 381 /* ES6 section 25.3.1.3 Generator.prototype.return ( value ) */ \
382 TFJ(GeneratorPrototypeReturn, 1) \ 382 TFJ(GeneratorPrototypeReturn, 1) \
383 /* ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) */ \ 383 /* ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) */ \
384 TFJ(GeneratorPrototypeThrow, 1) \ 384 TFJ(GeneratorPrototypeThrow, 1) \
385 CPP(AsyncFunctionConstructor) \ 385 CPP(AsyncFunctionConstructor) \
386 \ 386 \
387 /* Global object */ \ 387 /* Global object */ \
388 CPP(GlobalDecodeURI) \ 388 CPP(GlobalDecodeURI) \
389 CPP(GlobalDecodeURIComponent) \ 389 CPP(GlobalDecodeURIComponent) \
390 CPP(GlobalEncodeURI) \ 390 CPP(GlobalEncodeURI) \
391 CPP(GlobalEncodeURIComponent) \ 391 CPP(GlobalEncodeURIComponent) \
392 CPP(GlobalEscape) \ 392 CPP(GlobalEscape) \
393 CPP(GlobalUnescape) \ 393 CPP(GlobalUnescape) \
394 CPP(GlobalEval) \ 394 CPP(GlobalEval) \
395 /* ES6 section 18.2.2 isFinite ( number ) */ \ 395 /* ES6 section 18.2.2 isFinite ( number ) */ \
396 TFJ(GlobalIsFinite, 1) \ 396 TFJ(GlobalIsFinite, 1) \
397 /* ES6 section 18.2.3 isNaN ( number ) */ \ 397 /* ES6 section 18.2.3 isNaN ( number ) */ \
398 TFJ(GlobalIsNaN, 1) \ 398 TFJ(GlobalIsNaN, 1) \
399 \ 399 \
400 /* ES6 #sec-%iteratorprototype%-@@iterator */ \ 400 /* ES6 #sec-%iteratorprototype%-@@iterator */ \
401 TFJ(IteratorPrototypeIterator, 0) \ 401 TFJ(IteratorPrototypeIterator, 0) \
402 \ 402 \
403 /* JSON */ \ 403 /* JSON */ \
404 CPP(JsonParse) \ 404 CPP(JsonParse) \
405 CPP(JsonStringify) \ 405 CPP(JsonStringify) \
406 \ 406 \
407 /* Math */ \ 407 /* Math */ \
408 /* ES6 section 20.2.2.1 Math.abs ( x ) */ \ 408 /* ES6 section 20.2.2.1 Math.abs ( x ) */ \
409 TFJ(MathAbs, 1) \ 409 TFJ(MathAbs, 1) \
410 /* ES6 section 20.2.2.2 Math.acos ( x ) */ \ 410 /* ES6 section 20.2.2.2 Math.acos ( x ) */ \
411 TFJ(MathAcos, 1) \ 411 TFJ(MathAcos, 1) \
412 /* ES6 section 20.2.2.3 Math.acosh ( x ) */ \ 412 /* ES6 section 20.2.2.3 Math.acosh ( x ) */ \
413 TFJ(MathAcosh, 1) \ 413 TFJ(MathAcosh, 1) \
414 /* ES6 section 20.2.2.4 Math.asin ( x ) */ \ 414 /* ES6 section 20.2.2.4 Math.asin ( x ) */ \
415 TFJ(MathAsin, 1) \ 415 TFJ(MathAsin, 1) \
416 /* ES6 section 20.2.2.5 Math.asinh ( x ) */ \ 416 /* ES6 section 20.2.2.5 Math.asinh ( x ) */ \
417 TFJ(MathAsinh, 1) \ 417 TFJ(MathAsinh, 1) \
418 /* ES6 section 20.2.2.6 Math.atan ( x ) */ \ 418 /* ES6 section 20.2.2.6 Math.atan ( x ) */ \
419 TFJ(MathAtan, 1) \ 419 TFJ(MathAtan, 1) \
420 /* ES6 section 20.2.2.7 Math.atanh ( x ) */ \ 420 /* ES6 section 20.2.2.7 Math.atanh ( x ) */ \
421 TFJ(MathAtanh, 1) \ 421 TFJ(MathAtanh, 1) \
422 /* ES6 section 20.2.2.8 Math.atan2 ( y, x ) */ \ 422 /* ES6 section 20.2.2.8 Math.atan2 ( y, x ) */ \
423 TFJ(MathAtan2, 2) \ 423 TFJ(MathAtan2, 2) \
424 /* ES6 section 20.2.2.9 Math.cbrt ( x ) */ \ 424 /* ES6 section 20.2.2.9 Math.cbrt ( x ) */ \
425 TFJ(MathCbrt, 1) \ 425 TFJ(MathCbrt, 1) \
426 /* ES6 section 20.2.2.10 Math.ceil ( x ) */ \ 426 /* ES6 section 20.2.2.10 Math.ceil ( x ) */ \
427 TFJ(MathCeil, 1) \ 427 TFJ(MathCeil, 1) \
428 /* ES6 section 20.2.2.11 Math.clz32 ( x ) */ \ 428 /* ES6 section 20.2.2.11 Math.clz32 ( x ) */ \
429 TFJ(MathClz32, 1) \ 429 TFJ(MathClz32, 1) \
430 /* ES6 section 20.2.2.12 Math.cos ( x ) */ \ 430 /* ES6 section 20.2.2.12 Math.cos ( x ) */ \
431 TFJ(MathCos, 1) \ 431 TFJ(MathCos, 1) \
432 /* ES6 section 20.2.2.13 Math.cosh ( x ) */ \ 432 /* ES6 section 20.2.2.13 Math.cosh ( x ) */ \
433 TFJ(MathCosh, 1) \ 433 TFJ(MathCosh, 1) \
434 /* ES6 section 20.2.2.14 Math.exp ( x ) */ \ 434 /* ES6 section 20.2.2.14 Math.exp ( x ) */ \
435 TFJ(MathExp, 1) \ 435 TFJ(MathExp, 1) \
436 /* ES6 section 20.2.2.15 Math.expm1 ( x ) */ \ 436 /* ES6 section 20.2.2.15 Math.expm1 ( x ) */ \
437 TFJ(MathExpm1, 1) \ 437 TFJ(MathExpm1, 1) \
438 /* ES6 section 20.2.2.16 Math.floor ( x ) */ \ 438 /* ES6 section 20.2.2.16 Math.floor ( x ) */ \
439 TFJ(MathFloor, 1) \ 439 TFJ(MathFloor, 1) \
440 /* ES6 section 20.2.2.17 Math.fround ( x ) */ \ 440 /* ES6 section 20.2.2.17 Math.fround ( x ) */ \
441 TFJ(MathFround, 1) \ 441 TFJ(MathFround, 1) \
442 /* ES6 section 20.2.2.18 Math.hypot ( value1, value2, ...values ) */ \ 442 /* ES6 section 20.2.2.18 Math.hypot ( value1, value2, ...values ) */ \
443 CPP(MathHypot) \ 443 CPP(MathHypot) \
444 /* ES6 section 20.2.2.19 Math.imul ( x, y ) */ \ 444 /* ES6 section 20.2.2.19 Math.imul ( x, y ) */ \
445 TFJ(MathImul, 2) \ 445 TFJ(MathImul, 2) \
446 /* ES6 section 20.2.2.20 Math.log ( x ) */ \ 446 /* ES6 section 20.2.2.20 Math.log ( x ) */ \
447 TFJ(MathLog, 1) \ 447 TFJ(MathLog, 1) \
448 /* ES6 section 20.2.2.21 Math.log1p ( x ) */ \ 448 /* ES6 section 20.2.2.21 Math.log1p ( x ) */ \
449 TFJ(MathLog1p, 1) \ 449 TFJ(MathLog1p, 1) \
450 /* ES6 section 20.2.2.22 Math.log10 ( x ) */ \ 450 /* ES6 section 20.2.2.22 Math.log10 ( x ) */ \
451 TFJ(MathLog10, 1) \ 451 TFJ(MathLog10, 1) \
452 /* ES6 section 20.2.2.23 Math.log2 ( x ) */ \ 452 /* ES6 section 20.2.2.23 Math.log2 ( x ) */ \
453 TFJ(MathLog2, 1) \ 453 TFJ(MathLog2, 1) \
454 /* ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) */ \ 454 /* ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) */ \
455 ASM(MathMax) \ 455 ASM(MathMax) \
456 /* ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) */ \ 456 /* ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) */ \
457 ASM(MathMin) \ 457 ASM(MathMin) \
458 /* ES6 section 20.2.2.26 Math.pow ( x, y ) */ \ 458 /* ES6 section 20.2.2.26 Math.pow ( x, y ) */ \
459 TFJ(MathPow, 2) \ 459 TFJ(MathPow, 2) \
460 /* ES6 section 20.2.2.27 Math.random */ \ 460 /* ES6 section 20.2.2.27 Math.random */ \
461 TFJ(MathRandom, 0) \ 461 TFJ(MathRandom, 0) \
462 /* ES6 section 20.2.2.28 Math.round ( x ) */ \ 462 /* ES6 section 20.2.2.28 Math.round ( x ) */ \
463 TFJ(MathRound, 1) \ 463 TFJ(MathRound, 1) \
464 /* ES6 section 20.2.2.29 Math.sign ( x ) */ \ 464 /* ES6 section 20.2.2.29 Math.sign ( x ) */ \
465 TFJ(MathSign, 1) \ 465 TFJ(MathSign, 1) \
466 /* ES6 section 20.2.2.30 Math.sin ( x ) */ \ 466 /* ES6 section 20.2.2.30 Math.sin ( x ) */ \
467 TFJ(MathSin, 1) \ 467 TFJ(MathSin, 1) \
468 /* ES6 section 20.2.2.31 Math.sinh ( x ) */ \ 468 /* ES6 section 20.2.2.31 Math.sinh ( x ) */ \
469 TFJ(MathSinh, 1) \ 469 TFJ(MathSinh, 1) \
470 /* ES6 section 20.2.2.32 Math.sqrt ( x ) */ \ 470 /* ES6 section 20.2.2.32 Math.sqrt ( x ) */ \
471 TFJ(MathTan, 1) \ 471 TFJ(MathTan, 1) \
472 /* ES6 section 20.2.2.33 Math.tan ( x ) */ \ 472 /* ES6 section 20.2.2.33 Math.tan ( x ) */ \
473 TFJ(MathTanh, 1) \ 473 TFJ(MathTanh, 1) \
474 /* ES6 section 20.2.2.34 Math.tanh ( x ) */ \ 474 /* ES6 section 20.2.2.34 Math.tanh ( x ) */ \
475 TFJ(MathSqrt, 1) \ 475 TFJ(MathSqrt, 1) \
476 /* ES6 section 20.2.2.35 Math.trunc ( x ) */ \ 476 /* ES6 section 20.2.2.35 Math.trunc ( x ) */ \
477 TFJ(MathTrunc, 1) \ 477 TFJ(MathTrunc, 1) \
478 \ 478 \
479 /* Number */ \ 479 /* Number */ \
480 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case */ \ 480 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case */ \
481 ASM(NumberConstructor) \ 481 ASM(NumberConstructor) \
482 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case */ \ 482 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case */ \
483 ASM(NumberConstructor_ConstructStub) \ 483 ASM(NumberConstructor_ConstructStub) \
484 /* ES6 section 20.1.2.2 Number.isFinite ( number ) */ \ 484 /* ES6 section 20.1.2.2 Number.isFinite ( number ) */ \
485 TFJ(NumberIsFinite, 1) \ 485 TFJ(NumberIsFinite, 1) \
486 /* ES6 section 20.1.2.3 Number.isInteger ( number ) */ \ 486 /* ES6 section 20.1.2.3 Number.isInteger ( number ) */ \
487 TFJ(NumberIsInteger, 1) \ 487 TFJ(NumberIsInteger, 1) \
488 /* ES6 section 20.1.2.4 Number.isNaN ( number ) */ \ 488 /* ES6 section 20.1.2.4 Number.isNaN ( number ) */ \
489 TFJ(NumberIsNaN, 1) \ 489 TFJ(NumberIsNaN, 1) \
490 /* ES6 section 20.1.2.5 Number.isSafeInteger ( number ) */ \ 490 /* ES6 section 20.1.2.5 Number.isSafeInteger ( number ) */ \
491 TFJ(NumberIsSafeInteger, 1) \ 491 TFJ(NumberIsSafeInteger, 1) \
492 /* ES6 section 20.1.2.12 Number.parseFloat ( string ) */ \ 492 /* ES6 section 20.1.2.12 Number.parseFloat ( string ) */ \
493 TFJ(NumberParseFloat, 1) \ 493 TFJ(NumberParseFloat, 1) \
494 /* ES6 section 20.1.2.13 Number.parseInt ( string, radix ) */ \ 494 /* ES6 section 20.1.2.13 Number.parseInt ( string, radix ) */ \
495 TFJ(NumberParseInt, 2) \ 495 TFJ(NumberParseInt, 2) \
496 CPP(NumberPrototypeToExponential) \ 496 CPP(NumberPrototypeToExponential) \
497 CPP(NumberPrototypeToFixed) \ 497 CPP(NumberPrototypeToFixed) \
498 CPP(NumberPrototypeToLocaleString) \ 498 CPP(NumberPrototypeToLocaleString) \
499 CPP(NumberPrototypeToPrecision) \ 499 CPP(NumberPrototypeToPrecision) \
500 CPP(NumberPrototypeToString) \ 500 CPP(NumberPrototypeToString) \
501 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \ 501 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \
502 TFJ(NumberPrototypeValueOf, 0) \ 502 TFJ(NumberPrototypeValueOf, 0) \
503 TFS(Add, BUILTIN, kNoExtraICState, BinaryOp) \ 503 TFS(Add, BUILTIN, kNoExtraICState, BinaryOp) \
504 TFS(Subtract, BUILTIN, kNoExtraICState, BinaryOp) \ 504 TFS(Subtract, BUILTIN, kNoExtraICState, BinaryOp) \
505 TFS(Multiply, BUILTIN, kNoExtraICState, BinaryOp) \ 505 TFS(Multiply, BUILTIN, kNoExtraICState, BinaryOp) \
506 TFS(Divide, BUILTIN, kNoExtraICState, BinaryOp) \ 506 TFS(Divide, BUILTIN, kNoExtraICState, BinaryOp) \
507 TFS(Modulus, BUILTIN, kNoExtraICState, BinaryOp) \ 507 TFS(Modulus, BUILTIN, kNoExtraICState, BinaryOp) \
508 TFS(BitwiseAnd, BUILTIN, kNoExtraICState, BinaryOp) \ 508 TFS(BitwiseAnd, BUILTIN, kNoExtraICState, BinaryOp) \
509 TFS(BitwiseOr, BUILTIN, kNoExtraICState, BinaryOp) \ 509 TFS(BitwiseOr, BUILTIN, kNoExtraICState, BinaryOp) \
510 TFS(BitwiseXor, BUILTIN, kNoExtraICState, BinaryOp) \ 510 TFS(BitwiseXor, BUILTIN, kNoExtraICState, BinaryOp) \
511 TFS(ShiftLeft, BUILTIN, kNoExtraICState, BinaryOp) \ 511 TFS(ShiftLeft, BUILTIN, kNoExtraICState, BinaryOp) \
512 TFS(ShiftRight, BUILTIN, kNoExtraICState, BinaryOp) \ 512 TFS(ShiftRight, BUILTIN, kNoExtraICState, BinaryOp) \
513 TFS(ShiftRightLogical, BUILTIN, kNoExtraICState, BinaryOp) \ 513 TFS(ShiftRightLogical, BUILTIN, kNoExtraICState, BinaryOp) \
514 TFS(LessThan, BUILTIN, kNoExtraICState, Compare) \ 514 TFS(LessThan, BUILTIN, kNoExtraICState, Compare) \
515 TFS(LessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ 515 TFS(LessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \
516 TFS(GreaterThan, BUILTIN, kNoExtraICState, Compare) \ 516 TFS(GreaterThan, BUILTIN, kNoExtraICState, Compare) \
517 TFS(GreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ 517 TFS(GreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \
518 TFS(Equal, BUILTIN, kNoExtraICState, Compare) \ 518 TFS(Equal, BUILTIN, kNoExtraICState, Compare) \
519 TFS(NotEqual, BUILTIN, kNoExtraICState, Compare) \ 519 TFS(NotEqual, BUILTIN, kNoExtraICState, Compare) \
520 TFS(StrictEqual, BUILTIN, kNoExtraICState, Compare) \ 520 TFS(StrictEqual, BUILTIN, kNoExtraICState, Compare) \
521 TFS(StrictNotEqual, BUILTIN, kNoExtraICState, Compare) \ 521 TFS(StrictNotEqual, BUILTIN, kNoExtraICState, Compare) \
522 \ 522 \
523 /* Object */ \ 523 /* Object */ \
524 CPP(ObjectAssign) \ 524 CPP(ObjectAssign) \
525 TFJ(ObjectCreate, 2) \ 525 TFJ(ObjectCreate, 2) \
526 CPP(ObjectDefineGetter) \ 526 CPP(ObjectDefineGetter) \
527 CPP(ObjectDefineProperties) \ 527 CPP(ObjectDefineProperties) \
528 CPP(ObjectDefineProperty) \ 528 CPP(ObjectDefineProperty) \
529 CPP(ObjectDefineSetter) \ 529 CPP(ObjectDefineSetter) \
530 CPP(ObjectEntries) \ 530 CPP(ObjectEntries) \
531 CPP(ObjectFreeze) \ 531 CPP(ObjectFreeze) \
532 CPP(ObjectGetOwnPropertyDescriptor) \ 532 CPP(ObjectGetOwnPropertyDescriptor) \
533 CPP(ObjectGetOwnPropertyDescriptors) \ 533 CPP(ObjectGetOwnPropertyDescriptors) \
534 CPP(ObjectGetOwnPropertyNames) \ 534 CPP(ObjectGetOwnPropertyNames) \
535 CPP(ObjectGetOwnPropertySymbols) \ 535 CPP(ObjectGetOwnPropertySymbols) \
536 CPP(ObjectGetPrototypeOf) \ 536 CPP(ObjectGetPrototypeOf) \
537 CPP(ObjectSetPrototypeOf) \ 537 CPP(ObjectSetPrototypeOf) \
538 /* ES6 section 19.1.3.2 Object.prototype.hasOwnProperty */ \ 538 /* ES6 section 19.1.3.2 Object.prototype.hasOwnProperty */ \
539 TFJ(ObjectHasOwnProperty, 1) \ 539 TFJ(ObjectHasOwnProperty, 1) \
540 CPP(ObjectIs) \ 540 CPP(ObjectIs) \
541 CPP(ObjectIsExtensible) \ 541 CPP(ObjectIsExtensible) \
542 CPP(ObjectIsFrozen) \ 542 CPP(ObjectIsFrozen) \
543 CPP(ObjectIsSealed) \ 543 CPP(ObjectIsSealed) \
544 CPP(ObjectKeys) \ 544 CPP(ObjectKeys) \
545 CPP(ObjectLookupGetter) \ 545 CPP(ObjectLookupGetter) \
546 CPP(ObjectLookupSetter) \ 546 CPP(ObjectLookupSetter) \
547 CPP(ObjectPreventExtensions) \ 547 CPP(ObjectPreventExtensions) \
548 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ 548 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \
549 TFJ(ObjectProtoToString, 0) \ 549 TFJ(ObjectProtoToString, 0) \
550 CPP(ObjectPrototypePropertyIsEnumerable) \ 550 CPP(ObjectPrototypePropertyIsEnumerable) \
551 CPP(ObjectPrototypeGetProto) \ 551 CPP(ObjectPrototypeGetProto) \
552 CPP(ObjectPrototypeSetProto) \ 552 CPP(ObjectPrototypeSetProto) \
553 CPP(ObjectSeal) \ 553 CPP(ObjectSeal) \
554 CPP(ObjectValues) \ 554 CPP(ObjectValues) \
555 \ 555 \
556 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \ 556 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \
557 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \ 557 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \
558 TFS(OrdinaryHasInstance, BUILTIN, kNoExtraICState, Compare) \ 558 TFS(OrdinaryHasInstance, BUILTIN, kNoExtraICState, Compare) \
559 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \ 559 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \
560 \ 560 \
561 /* Promise */ \ 561 /* Promise */ \
562 CPP(CreateResolvingFunctions) \ 562 CPP(CreateResolvingFunctions) \
563 CPP(PromiseResolveClosure) \ 563 CPP(PromiseResolveClosure) \
564 CPP(PromiseRejectClosure) \ 564 CPP(PromiseRejectClosure) \
565 \ 565 \
566 /* Proxy */ \ 566 /* Proxy */ \
567 CPP(ProxyConstructor) \ 567 CPP(ProxyConstructor) \
568 CPP(ProxyConstructor_ConstructStub) \ 568 CPP(ProxyConstructor_ConstructStub) \
569 \ 569 \
570 /* Reflect */ \ 570 /* Reflect */ \
571 ASM(ReflectApply) \ 571 ASM(ReflectApply) \
572 ASM(ReflectConstruct) \ 572 ASM(ReflectConstruct) \
573 CPP(ReflectDefineProperty) \ 573 CPP(ReflectDefineProperty) \
574 CPP(ReflectDeleteProperty) \ 574 CPP(ReflectDeleteProperty) \
575 CPP(ReflectGet) \ 575 CPP(ReflectGet) \
576 CPP(ReflectGetOwnPropertyDescriptor) \ 576 CPP(ReflectGetOwnPropertyDescriptor) \
577 CPP(ReflectGetPrototypeOf) \ 577 CPP(ReflectGetPrototypeOf) \
578 CPP(ReflectHas) \ 578 CPP(ReflectHas) \
579 CPP(ReflectIsExtensible) \ 579 CPP(ReflectIsExtensible) \
580 CPP(ReflectOwnKeys) \ 580 CPP(ReflectOwnKeys) \
581 CPP(ReflectPreventExtensions) \ 581 CPP(ReflectPreventExtensions) \
582 CPP(ReflectSet) \ 582 CPP(ReflectSet) \
583 CPP(ReflectSetPrototypeOf) \ 583 CPP(ReflectSetPrototypeOf) \
584 \ 584 \
585 /* RegExp */ \ 585 /* RegExp */ \
586 CPP(RegExpCapture1Getter) \ 586 CPP(RegExpCapture1Getter) \
587 CPP(RegExpCapture2Getter) \ 587 CPP(RegExpCapture2Getter) \
588 CPP(RegExpCapture3Getter) \ 588 CPP(RegExpCapture3Getter) \
589 CPP(RegExpCapture4Getter) \ 589 CPP(RegExpCapture4Getter) \
590 CPP(RegExpCapture5Getter) \ 590 CPP(RegExpCapture5Getter) \
591 CPP(RegExpCapture6Getter) \ 591 CPP(RegExpCapture6Getter) \
592 CPP(RegExpCapture7Getter) \ 592 CPP(RegExpCapture7Getter) \
593 CPP(RegExpCapture8Getter) \ 593 CPP(RegExpCapture8Getter) \
594 CPP(RegExpCapture9Getter) \ 594 CPP(RegExpCapture9Getter) \
595 CPP(RegExpConstructor) \ 595 CPP(RegExpConstructor) \
596 TFJ(RegExpInternalMatch, 2) \ 596 TFJ(RegExpInternalMatch, 2) \
597 CPP(RegExpInputGetter) \ 597 CPP(RegExpInputGetter) \
598 CPP(RegExpInputSetter) \ 598 CPP(RegExpInputSetter) \
599 CPP(RegExpLastMatchGetter) \ 599 CPP(RegExpLastMatchGetter) \
600 CPP(RegExpLastParenGetter) \ 600 CPP(RegExpLastParenGetter) \
601 CPP(RegExpLeftContextGetter) \ 601 CPP(RegExpLeftContextGetter) \
602 CPP(RegExpPrototypeCompile) \ 602 CPP(RegExpPrototypeCompile) \
603 TFJ(RegExpPrototypeExec, 1) \ 603 TFJ(RegExpPrototypeExec, 1) \
604 TFJ(RegExpPrototypeFlagsGetter, 0) \ 604 TFJ(RegExpPrototypeFlagsGetter, 0) \
605 TFJ(RegExpPrototypeGlobalGetter, 0) \ 605 TFJ(RegExpPrototypeGlobalGetter, 0) \
606 TFJ(RegExpPrototypeIgnoreCaseGetter, 0) \ 606 TFJ(RegExpPrototypeIgnoreCaseGetter, 0) \
607 TFJ(RegExpPrototypeMatch, 1) \ 607 TFJ(RegExpPrototypeMatch, 1) \
608 TFJ(RegExpPrototypeMultilineGetter, 0) \ 608 TFJ(RegExpPrototypeMultilineGetter, 0) \
609 TFJ(RegExpPrototypeReplace, 2) \ 609 TFJ(RegExpPrototypeReplace, 2) \
610 TFJ(RegExpPrototypeSearch, 1) \ 610 TFJ(RegExpPrototypeSearch, 1) \
611 CPP(RegExpPrototypeSourceGetter) \ 611 CPP(RegExpPrototypeSourceGetter) \
612 CPP(RegExpPrototypeSpeciesGetter) \ 612 CPP(RegExpPrototypeSpeciesGetter) \
613 CPP(RegExpPrototypeSplit) \ 613 CPP(RegExpPrototypeSplit) \
614 TFJ(RegExpPrototypeStickyGetter, 0) \ 614 TFJ(RegExpPrototypeStickyGetter, 0) \
615 TFJ(RegExpPrototypeTest, 1) \ 615 TFJ(RegExpPrototypeTest, 1) \
616 CPP(RegExpPrototypeToString) \ 616 CPP(RegExpPrototypeToString) \
617 TFJ(RegExpPrototypeUnicodeGetter, 0) \ 617 TFJ(RegExpPrototypeUnicodeGetter, 0) \
618 CPP(RegExpRightContextGetter) \ 618 CPP(RegExpRightContextGetter) \
619 \ 619 \
620 /* SharedArrayBuffer */ \ 620 /* SharedArrayBuffer */ \
621 CPP(SharedArrayBufferPrototypeGetByteLength) \ 621 CPP(SharedArrayBufferPrototypeGetByteLength) \
622 TFJ(AtomicsLoad, 2) \ 622 TFJ(AtomicsLoad, 2) \
623 TFJ(AtomicsStore, 3) \ 623 TFJ(AtomicsStore, 3) \
624 \ 624 \
625 /* String */ \ 625 /* String */ \
626 ASM(StringConstructor) \ 626 ASM(StringConstructor) \
627 ASM(StringConstructor_ConstructStub) \ 627 ASM(StringConstructor_ConstructStub) \
628 CPP(StringFromCodePoint) \ 628 CPP(StringFromCodePoint) \
629 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \ 629 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \
630 TFJ(StringFromCharCode, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ 630 TFJ(StringFromCharCode, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \
631 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \ 631 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \
632 TFJ(StringPrototypeCharAt, 1) \ 632 TFJ(StringPrototypeCharAt, 1) \
633 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \ 633 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \
634 TFJ(StringPrototypeCharCodeAt, 1) \ 634 TFJ(StringPrototypeCharCodeAt, 1) \
635 /* ES6 section 21.1.3.6 */ \ 635 /* ES6 section 21.1.3.6 */ \
636 /* String.prototype.endsWith ( searchString [ , endPosition ] ) */ \ 636 /* String.prototype.endsWith ( searchString [ , endPosition ] ) */ \
637 CPP(StringPrototypeEndsWith) \ 637 CPP(StringPrototypeEndsWith) \
638 /* ES6 section 21.1.3.7 */ \ 638 /* ES6 section 21.1.3.7 */ \
639 /* String.prototype.includes ( searchString [ , position ] ) */ \ 639 /* String.prototype.includes ( searchString [ , position ] ) */ \
640 CPP(StringPrototypeIncludes) \ 640 CPP(StringPrototypeIncludes) \
641 /* ES6 section 21.1.3.8 */ \ 641 /* ES6 section #sec-string.prototype.indexof */ \
642 /* String.prototype.indexOf ( searchString [ , position ] ) */ \ 642 /* String.prototype.indexOf ( searchString [ , position ] ) */ \
643 CPP(StringPrototypeIndexOf) \ 643 TFJ(StringPrototypeIndexOf, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \
644 /* ES6 section 21.1.3.9 */ \ 644 /* ES6 section 21.1.3.9 */ \
645 /* String.prototype.lastIndexOf ( searchString [ , position ] ) */ \ 645 /* String.prototype.lastIndexOf ( searchString [ , position ] ) */ \
646 CPP(StringPrototypeLastIndexOf) \ 646 CPP(StringPrototypeLastIndexOf) \
647 /* ES6 section 21.1.3.10 String.prototype.localeCompare ( that ) */ \ 647 /* ES6 section 21.1.3.10 String.prototype.localeCompare ( that ) */ \
648 CPP(StringPrototypeLocaleCompare) \ 648 CPP(StringPrototypeLocaleCompare) \
649 /* ES6 section 21.1.3.12 String.prototype.normalize ( [form] ) */ \ 649 /* ES6 section 21.1.3.12 String.prototype.normalize ( [form] ) */ \
650 CPP(StringPrototypeNormalize) \ 650 CPP(StringPrototypeNormalize) \
651 /* ES6 section B.2.3.1 String.prototype.substr ( start, length ) */ \ 651 /* es6 section b.2.3.1 string.prototype.substr ( start, length ) */ \
652 TFJ(StringPrototypeSubstr, 2) \ 652 TFJ(StringPrototypeSubstr, 2) \
653 /* ES6 section 21.1.3.19 String.prototype.substring ( start, end ) */ \ 653 /* ES6 section 21.1.3.19 String.prototype.substring ( start, end ) */ \
654 TFJ(StringPrototypeSubstring, 2) \ 654 TFJ(StringPrototypeSubstring, 2) \
655 /* ES6 section 21.1.3.20 */ \ 655 /* ES6 section 21.1.3.20 */ \
656 /* String.prototype.startsWith ( searchString [ , position ] ) */ \ 656 /* String.prototype.startsWith ( searchString [ , position ] ) */ \
657 CPP(StringPrototypeStartsWith) \ 657 CPP(StringPrototypeStartsWith) \
658 /* ES6 section 21.1.3.25 String.prototype.toString () */ \ 658 /* ES6 section 21.1.3.25 String.prototype.toString () */ \
659 TFJ(StringPrototypeToString, 0) \ 659 TFJ(StringPrototypeToString, 0) \
660 CPP(StringPrototypeTrim) \ 660 CPP(StringPrototypeTrim) \
661 CPP(StringPrototypeTrimLeft) \ 661 CPP(StringPrototypeTrimLeft) \
662 CPP(StringPrototypeTrimRight) \ 662 CPP(StringPrototypeTrimRight) \
663 /* ES6 section 21.1.3.28 String.prototype.valueOf () */ \ 663 /* ES6 section 21.1.3.28 String.prototype.valueOf () */ \
664 TFJ(StringPrototypeValueOf, 0) \ 664 TFJ(StringPrototypeValueOf, 0) \
665 /* ES6 #sec-string.prototype-@@iterator */ \ 665 /* ES6 #sec-string.prototype-@@iterator */ \
666 TFJ(StringPrototypeIterator, 0) \ 666 TFJ(StringPrototypeIterator, 0) \
667 \ 667 \
668 /* StringIterator */ \ 668 /* StringIterator */ \
669 TFJ(StringIteratorPrototypeNext, 0) \ 669 TFJ(StringIteratorPrototypeNext, 0) \
670 \ 670 \
671 /* Symbol */ \ 671 /* Symbol */ \
672 CPP(SymbolConstructor) \ 672 CPP(SymbolConstructor) \
673 CPP(SymbolConstructor_ConstructStub) \ 673 CPP(SymbolConstructor_ConstructStub) \
674 /* ES6 section 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint ) */ \ 674 /* ES6 section 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint ) */ \
675 TFJ(SymbolPrototypeToPrimitive, 1) \ 675 TFJ(SymbolPrototypeToPrimitive, 1) \
676 /* ES6 section 19.4.3.2 Symbol.prototype.toString ( ) */ \ 676 /* ES6 section 19.4.3.2 Symbol.prototype.toString ( ) */ \
677 TFJ(SymbolPrototypeToString, 0) \ 677 TFJ(SymbolPrototypeToString, 0) \
678 /* ES6 section 19.4.3.3 Symbol.prototype.valueOf ( ) */ \ 678 /* ES6 section 19.4.3.3 Symbol.prototype.valueOf ( ) */ \
679 TFJ(SymbolPrototypeValueOf, 0) \ 679 TFJ(SymbolPrototypeValueOf, 0) \
680 \ 680 \
681 /* TypedArray */ \ 681 /* TypedArray */ \
682 CPP(TypedArrayPrototypeBuffer) \ 682 CPP(TypedArrayPrototypeBuffer) \
683 /* ES6 section 22.2.3.2 get %TypedArray%.prototype.byteLength */ \ 683 /* ES6 section 22.2.3.2 get %TypedArray%.prototype.byteLength */ \
684 TFJ(TypedArrayPrototypeByteLength, 0) \ 684 TFJ(TypedArrayPrototypeByteLength, 0) \
685 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \ 685 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \
686 TFJ(TypedArrayPrototypeByteOffset, 0) \ 686 TFJ(TypedArrayPrototypeByteOffset, 0) \
687 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \ 687 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \
688 TFJ(TypedArrayPrototypeLength, 0) \ 688 TFJ(TypedArrayPrototypeLength, 0) \
689 /* ES6 #sec-%typedarray%.prototype.entries */ \ 689 /* ES6 #sec-%typedarray%.prototype.entries */ \
690 TFJ(TypedArrayPrototypeEntries, 0) \ 690 TFJ(TypedArrayPrototypeEntries, 0) \
691 /* ES6 #sec-%typedarray%.prototype.keys */ \ 691 /* ES6 #sec-%typedarray%.prototype.keys */ \
692 TFJ(TypedArrayPrototypeKeys, 0) \ 692 TFJ(TypedArrayPrototypeKeys, 0) \
693 /* ES6 #sec-%typedarray%.prototype.values */ \ 693 /* ES6 #sec-%typedarray%.prototype.values */ \
694 TFJ(TypedArrayPrototypeValues, 0) \ 694 TFJ(TypedArrayPrototypeValues, 0) \
695 \ 695 \
696 CPP(ModuleNamespaceIterator) \ 696 CPP(ModuleNamespaceIterator) \
697 CPP(FixedArrayIteratorNext) 697 CPP(FixedArrayIteratorNext)
698 698
699 #define IGNORE_BUILTIN(...) 699 #define IGNORE_BUILTIN(...)
700 700
701 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) 701 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V)
702 702
703 #define BUILTIN_LIST_C(V) \ 703 #define BUILTIN_LIST_C(V) \
704 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ 704 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
705 IGNORE_BUILTIN, IGNORE_BUILTIN) 705 IGNORE_BUILTIN, IGNORE_BUILTIN)
706 706
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 837
838 friend class Isolate; 838 friend class Isolate;
839 839
840 DISALLOW_COPY_AND_ASSIGN(Builtins); 840 DISALLOW_COPY_AND_ASSIGN(Builtins);
841 }; 841 };
842 842
843 } // namespace internal 843 } // namespace internal
844 } // namespace v8 844 } // namespace v8
845 845
846 #endif // V8_BUILTINS_BUILTINS_H_ 846 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/arguments.h ('k') | src/builtins/builtins-array.cc » ('j') | src/builtins/builtins-string.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698