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

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

Issue 2220203002: [ic] Merge LoadGlobalIC_Slow builtins for inside typeof and outside typeof cases. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 months 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
« no previous file with comments | « src/ast/ast-numbering.cc ('k') | src/builtins/builtins-handler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 29 matching lines...) Expand all
40 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function). 40 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function).
41 // Args: name, arguments count 41 // Args: name, arguments count
42 // TFS: Builtin in Turbofan, with CodeStub linkage. 42 // TFS: Builtin in Turbofan, with CodeStub linkage.
43 // Args: name, code kind, extra IC state, interface descriptor 43 // Args: name, code kind, extra IC state, interface descriptor
44 // ASM: Builtin in platform-dependent assembly. 44 // ASM: Builtin in platform-dependent assembly.
45 // Args: name 45 // Args: name
46 // ASH: Handlers implemented in platform-dependent assembly. 46 // ASH: Handlers implemented in platform-dependent assembly.
47 // Args: name, code kind, extra IC state 47 // Args: name, code kind, extra IC state
48 // DBG: Builtin in platform-dependent assembly, used by the debugger. 48 // DBG: Builtin in platform-dependent assembly, used by the debugger.
49 // Args: name 49 // Args: name
50 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ 50 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \
51 ASM(Abort) \ 51 ASM(Abort) \
52 /* Handlers */ \ 52 /* Handlers */ \
53 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \ 53 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
54 ASM(KeyedLoadIC_Miss) \ 54 ASM(KeyedLoadIC_Miss) \
55 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \ 55 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \
56 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \ 56 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \
57 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \ 57 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \
58 StoreICState::kStrictModeState) \ 58 StoreICState::kStrictModeState) \
59 ASM(KeyedStoreIC_Miss) \ 59 ASM(KeyedStoreIC_Miss) \
60 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \ 60 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \
61 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ 61 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \
62 TFS(LoadGlobalIC_SlowInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ 62 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \
63 LoadGlobalWithVector) \ 63 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
64 TFS(LoadGlobalIC_SlowNotInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ 64 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
65 LoadGlobalWithVector) \ 65 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \
66 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \ 66 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
67 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ 67 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
68 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \ 68 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \
69 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ 69 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
70 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ 70 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \
71 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \ 71 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \
72 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \ 72 \
73 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \ 73 /* Code aging */ \
74 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \ 74 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
75 \ 75 \
76 /* Code aging */ \ 76 /* Calls */ \
77 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 77 ASM(ArgumentsAdaptorTrampoline) \
78 \ 78 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \
79 /* Calls */ \ 79 ASM(CallFunction_ReceiverIsNullOrUndefined) \
80 ASM(ArgumentsAdaptorTrampoline) \ 80 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \
81 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ 81 ASM(CallFunction_ReceiverIsAny) \
82 ASM(CallFunction_ReceiverIsNullOrUndefined) \ 82 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \
83 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ 83 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \
84 ASM(CallFunction_ReceiverIsAny) \ 84 ASM(TailCallFunction_ReceiverIsAny) \
85 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ 85 /* ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList) */ \
86 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ 86 ASM(CallBoundFunction) \
87 ASM(TailCallFunction_ReceiverIsAny) \ 87 ASM(TailCallBoundFunction) \
88 /* ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList) */ \ 88 /* ES6 section 7.3.12 Call(F, V, [argumentsList]) */ \
89 ASM(CallBoundFunction) \ 89 ASM(Call_ReceiverIsNullOrUndefined) \
90 ASM(TailCallBoundFunction) \ 90 ASM(Call_ReceiverIsNotNullOrUndefined) \
91 /* ES6 section 7.3.12 Call(F, V, [argumentsList]) */ \ 91 ASM(Call_ReceiverIsAny) \
92 ASM(Call_ReceiverIsNullOrUndefined) \ 92 ASM(TailCall_ReceiverIsNullOrUndefined) \
93 ASM(Call_ReceiverIsNotNullOrUndefined) \ 93 ASM(TailCall_ReceiverIsNotNullOrUndefined) \
94 ASM(Call_ReceiverIsAny) \ 94 ASM(TailCall_ReceiverIsAny) \
95 ASM(TailCall_ReceiverIsNullOrUndefined) \ 95 \
96 ASM(TailCall_ReceiverIsNotNullOrUndefined) \ 96 /* Construct */ \
97 ASM(TailCall_ReceiverIsAny) \ 97 /* ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) */ \
98 \ 98 ASM(ConstructFunction) \
99 /* Construct */ \ 99 /* ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget) */ \
100 /* ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) */ \ 100 ASM(ConstructBoundFunction) \
101 ASM(ConstructFunction) \ 101 ASM(ConstructedNonConstructable) \
102 /* ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget) */ \ 102 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \
103 ASM(ConstructBoundFunction) \ 103 ASM(ConstructProxy) \
104 ASM(ConstructedNonConstructable) \ 104 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \
105 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ 105 ASM(Construct) \
106 ASM(ConstructProxy) \ 106 ASM(JSConstructStubApi) \
107 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ 107 ASM(JSConstructStubGeneric) \
108 ASM(Construct) \ 108 ASM(JSBuiltinsConstructStub) \
109 ASM(JSConstructStubApi) \ 109 ASM(JSBuiltinsConstructStubForDerived) \
110 ASM(JSConstructStubGeneric) \ 110 \
111 ASM(JSBuiltinsConstructStub) \ 111 /* Apply and entries */ \
112 ASM(JSBuiltinsConstructStubForDerived) \ 112 ASM(Apply) \
113 \ 113 ASM(JSEntryTrampoline) \
114 /* Apply and entries */ \ 114 ASM(JSConstructEntryTrampoline) \
115 ASM(Apply) \ 115 ASM(ResumeGeneratorTrampoline) \
116 ASM(JSEntryTrampoline) \ 116 \
117 ASM(JSConstructEntryTrampoline) \ 117 /* Stack and interrupt check */ \
118 ASM(ResumeGeneratorTrampoline) \ 118 ASM(InterruptCheck) \
119 \ 119 ASM(StackCheck) \
120 /* Stack and interrupt check */ \ 120 \
121 ASM(InterruptCheck) \ 121 /* Interpreter */ \
122 ASM(StackCheck) \ 122 ASM(InterpreterEntryTrampoline) \
123 \ 123 ASM(InterpreterMarkBaselineOnReturn) \
124 /* Interpreter */ \ 124 ASM(InterpreterPushArgsAndCall) \
125 ASM(InterpreterEntryTrampoline) \ 125 ASM(InterpreterPushArgsAndCallFunction) \
126 ASM(InterpreterMarkBaselineOnReturn) \ 126 ASM(InterpreterPushArgsAndConstruct) \
127 ASM(InterpreterPushArgsAndCall) \ 127 ASM(InterpreterPushArgsAndTailCall) \
128 ASM(InterpreterPushArgsAndCallFunction) \ 128 ASM(InterpreterPushArgsAndTailCallFunction) \
129 ASM(InterpreterPushArgsAndConstruct) \ 129 ASM(InterpreterEnterBytecodeDispatch) \
130 ASM(InterpreterPushArgsAndTailCall) \ 130 ASM(InterpreterOnStackReplacement) \
131 ASM(InterpreterPushArgsAndTailCallFunction) \ 131 \
132 ASM(InterpreterEnterBytecodeDispatch) \ 132 /* Code life-cycle */ \
133 ASM(InterpreterOnStackReplacement) \ 133 ASM(CompileLazy) \
134 \ 134 ASM(CompileBaseline) \
135 /* Code life-cycle */ \ 135 ASM(CompileOptimized) \
136 ASM(CompileLazy) \ 136 ASM(CompileOptimizedConcurrent) \
137 ASM(CompileBaseline) \ 137 ASM(InOptimizationQueue) \
138 ASM(CompileOptimized) \ 138 ASM(InstantiateAsmJs) \
139 ASM(CompileOptimizedConcurrent) \ 139 ASM(MarkCodeAsToBeExecutedOnce) \
140 ASM(InOptimizationQueue) \ 140 ASM(MarkCodeAsExecutedOnce) \
141 ASM(InstantiateAsmJs) \ 141 ASM(MarkCodeAsExecutedTwice) \
142 ASM(MarkCodeAsToBeExecutedOnce) \ 142 ASM(NotifyDeoptimized) \
143 ASM(MarkCodeAsExecutedOnce) \ 143 ASM(NotifySoftDeoptimized) \
144 ASM(MarkCodeAsExecutedTwice) \ 144 ASM(NotifyLazyDeoptimized) \
145 ASM(NotifyDeoptimized) \ 145 ASM(NotifyStubFailure) \
146 ASM(NotifySoftDeoptimized) \ 146 ASM(NotifyStubFailureSaveDoubles) \
147 ASM(NotifyLazyDeoptimized) \ 147 ASM(OnStackReplacement) \
148 ASM(NotifyStubFailure) \ 148 \
149 ASM(NotifyStubFailureSaveDoubles) \ 149 /* API callback handling */ \
150 ASM(OnStackReplacement) \ 150 API(HandleApiCall) \
151 \ 151 API(HandleApiCallAsFunction) \
152 /* API callback handling */ \ 152 API(HandleApiCallAsConstructor) \
153 API(HandleApiCall) \ 153 ASM(HandleFastApiCall) \
154 API(HandleApiCallAsFunction) \ 154 \
155 API(HandleApiCallAsConstructor) \ 155 /* Adapters for Turbofan into runtime */ \
156 ASM(HandleFastApiCall) \ 156 ASM(AllocateInNewSpace) \
157 \ 157 ASM(AllocateInOldSpace) \
158 /* Adapters for Turbofan into runtime */ \ 158 \
159 ASM(AllocateInNewSpace) \ 159 /* TurboFan support builtins */ \
160 ASM(AllocateInOldSpace) \ 160 TFS(CopyFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \
161 \ 161 CopyFastSmiOrObjectElements) \
162 /* TurboFan support builtins */ \ 162 TFS(GrowFastDoubleElements, BUILTIN, kNoExtraICState, GrowArrayElements) \
163 TFS(CopyFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ 163 TFS(GrowFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \
164 CopyFastSmiOrObjectElements) \ 164 GrowArrayElements) \
165 TFS(GrowFastDoubleElements, BUILTIN, kNoExtraICState, GrowArrayElements) \ 165 \
166 TFS(GrowFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ 166 /* Debugger */ \
167 GrowArrayElements) \ 167 DBG(FrameDropper_LiveEdit) \
168 \ 168 DBG(Return_DebugBreak) \
169 /* Debugger */ \ 169 DBG(Slot_DebugBreak) \
170 DBG(FrameDropper_LiveEdit) \ 170 \
171 DBG(Return_DebugBreak) \ 171 /* Type conversions */ \
172 DBG(Slot_DebugBreak) \ 172 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \
173 \ 173 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \
174 /* Type conversions */ \ 174 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \
175 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \ 175 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \
176 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \ 176 TypeConversion) \
177 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \ 177 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \
178 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \ 178 TypeConversion) \
179 TypeConversion) \ 179 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \
180 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ 180 TypeConversion) \
181 TypeConversion) \ 181 ASM(StringToNumber) \
182 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ 182 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
183 TypeConversion) \ 183 ASM(ToNumber) \
184 ASM(StringToNumber) \ 184 \
185 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 185 /* Built-in functions for Javascript */ \
186 ASM(ToNumber) \ 186 /* Special internal builtins */ \
187 \ 187 CPP(EmptyFunction) \
188 /* Built-in functions for Javascript */ \ 188 CPP(Illegal) \
189 /* Special internal builtins */ \ 189 CPP(RestrictedFunctionPropertiesThrower) \
190 CPP(EmptyFunction) \ 190 CPP(RestrictedStrictArgumentsPropertiesThrower) \
191 CPP(Illegal) \ 191 CPP(UnsupportedThrower) \
192 CPP(RestrictedFunctionPropertiesThrower) \ 192 \
193 CPP(RestrictedStrictArgumentsPropertiesThrower) \ 193 /* Array */ \
194 CPP(UnsupportedThrower) \ 194 ASM(ArrayCode) \
195 \ 195 ASM(InternalArrayCode) \
196 /* Array */ \ 196 CPP(ArrayConcat) \
197 ASM(ArrayCode) \ 197 /* ES6 section 22.1.2.2 Array.isArray */ \
198 ASM(InternalArrayCode) \ 198 TFJ(ArrayIsArray, 2) \
199 CPP(ArrayConcat) \ 199 /* ES7 #sec-array.prototype.includes */ \
200 /* ES6 section 22.1.2.2 Array.isArray */ \ 200 TFJ(ArrayIncludes, 3) \
201 TFJ(ArrayIsArray, 2) \ 201 CPP(ArrayPop) \
202 /* ES7 #sec-array.prototype.includes */ \ 202 CPP(ArrayPush) \
203 TFJ(ArrayIncludes, 3) \ 203 CPP(ArrayShift) \
204 CPP(ArrayPop) \ 204 CPP(ArraySlice) \
205 CPP(ArrayPush) \ 205 CPP(ArraySplice) \
206 CPP(ArrayShift) \ 206 CPP(ArrayUnshift) \
207 CPP(ArraySlice) \ 207 \
208 CPP(ArraySplice) \ 208 /* ArrayBuffer */ \
209 CPP(ArrayUnshift) \ 209 CPP(ArrayBufferConstructor) \
210 \ 210 CPP(ArrayBufferConstructor_ConstructStub) \
211 /* ArrayBuffer */ \ 211 CPP(ArrayBufferPrototypeGetByteLength) \
212 CPP(ArrayBufferConstructor) \ 212 CPP(ArrayBufferIsView) \
213 CPP(ArrayBufferConstructor_ConstructStub) \ 213 \
214 CPP(ArrayBufferPrototypeGetByteLength) \ 214 /* Boolean */ \
215 CPP(ArrayBufferIsView) \ 215 CPP(BooleanConstructor) \
216 \ 216 CPP(BooleanConstructor_ConstructStub) \
217 /* Boolean */ \ 217 /* ES6 section 19.3.3.2 Boolean.prototype.toString ( ) */ \
218 CPP(BooleanConstructor) \ 218 TFJ(BooleanPrototypeToString, 1) \
219 CPP(BooleanConstructor_ConstructStub) \ 219 /* ES6 section 19.3.3.3 Boolean.prototype.valueOf ( ) */ \
220 /* ES6 section 19.3.3.2 Boolean.prototype.toString ( ) */ \ 220 TFJ(BooleanPrototypeValueOf, 1) \
221 TFJ(BooleanPrototypeToString, 1) \ 221 \
222 /* ES6 section 19.3.3.3 Boolean.prototype.valueOf ( ) */ \ 222 /* CallSite */ \
223 TFJ(BooleanPrototypeValueOf, 1) \ 223 CPP(CallSitePrototypeGetColumnNumber) \
224 \ 224 CPP(CallSitePrototypeGetEvalOrigin) \
225 /* CallSite */ \ 225 CPP(CallSitePrototypeGetFileName) \
226 CPP(CallSitePrototypeGetColumnNumber) \ 226 CPP(CallSitePrototypeGetFunction) \
227 CPP(CallSitePrototypeGetEvalOrigin) \ 227 CPP(CallSitePrototypeGetFunctionName) \
228 CPP(CallSitePrototypeGetFileName) \ 228 CPP(CallSitePrototypeGetLineNumber) \
229 CPP(CallSitePrototypeGetFunction) \ 229 CPP(CallSitePrototypeGetMethodName) \
230 CPP(CallSitePrototypeGetFunctionName) \ 230 CPP(CallSitePrototypeGetPosition) \
231 CPP(CallSitePrototypeGetLineNumber) \ 231 CPP(CallSitePrototypeGetScriptNameOrSourceURL) \
232 CPP(CallSitePrototypeGetMethodName) \ 232 CPP(CallSitePrototypeGetThis) \
233 CPP(CallSitePrototypeGetPosition) \ 233 CPP(CallSitePrototypeGetTypeName) \
234 CPP(CallSitePrototypeGetScriptNameOrSourceURL) \ 234 CPP(CallSitePrototypeIsConstructor) \
235 CPP(CallSitePrototypeGetThis) \ 235 CPP(CallSitePrototypeIsEval) \
236 CPP(CallSitePrototypeGetTypeName) \ 236 CPP(CallSitePrototypeIsNative) \
237 CPP(CallSitePrototypeIsConstructor) \ 237 CPP(CallSitePrototypeIsToplevel) \
238 CPP(CallSitePrototypeIsEval) \ 238 CPP(CallSitePrototypeToString) \
239 CPP(CallSitePrototypeIsNative) \ 239 \
240 CPP(CallSitePrototypeIsToplevel) \ 240 /* DataView */ \
241 CPP(CallSitePrototypeToString) \ 241 CPP(DataViewConstructor) \
242 \ 242 CPP(DataViewConstructor_ConstructStub) \
243 /* DataView */ \ 243 CPP(DataViewPrototypeGetBuffer) \
244 CPP(DataViewConstructor) \ 244 CPP(DataViewPrototypeGetByteLength) \
245 CPP(DataViewConstructor_ConstructStub) \ 245 CPP(DataViewPrototypeGetByteOffset) \
246 CPP(DataViewPrototypeGetBuffer) \ 246 \
247 CPP(DataViewPrototypeGetByteLength) \ 247 /* Date */ \
248 CPP(DataViewPrototypeGetByteOffset) \ 248 CPP(DateConstructor) \
249 \ 249 CPP(DateConstructor_ConstructStub) \
250 /* Date */ \ 250 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \
251 CPP(DateConstructor) \ 251 ASM(DatePrototypeGetDate) \
252 CPP(DateConstructor_ConstructStub) \ 252 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \
253 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \ 253 ASM(DatePrototypeGetDay) \
254 ASM(DatePrototypeGetDate) \ 254 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \
255 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \ 255 ASM(DatePrototypeGetFullYear) \
256 ASM(DatePrototypeGetDay) \ 256 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \
257 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \ 257 ASM(DatePrototypeGetHours) \
258 ASM(DatePrototypeGetFullYear) \ 258 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \
259 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \ 259 ASM(DatePrototypeGetMilliseconds) \
260 ASM(DatePrototypeGetHours) \ 260 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \
261 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \ 261 ASM(DatePrototypeGetMinutes) \
262 ASM(DatePrototypeGetMilliseconds) \ 262 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \
263 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \ 263 ASM(DatePrototypeGetMonth) \
264 ASM(DatePrototypeGetMinutes) \ 264 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \
265 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \ 265 ASM(DatePrototypeGetSeconds) \
266 ASM(DatePrototypeGetMonth) \ 266 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \
267 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \ 267 ASM(DatePrototypeGetTime) \
268 ASM(DatePrototypeGetSeconds) \ 268 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \
269 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \ 269 ASM(DatePrototypeGetTimezoneOffset) \
270 ASM(DatePrototypeGetTime) \ 270 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \
271 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \ 271 ASM(DatePrototypeGetUTCDate) \
272 ASM(DatePrototypeGetTimezoneOffset) \ 272 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \
273 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \ 273 ASM(DatePrototypeGetUTCDay) \
274 ASM(DatePrototypeGetUTCDate) \ 274 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \
275 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \ 275 ASM(DatePrototypeGetUTCFullYear) \
276 ASM(DatePrototypeGetUTCDay) \ 276 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \
277 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \ 277 ASM(DatePrototypeGetUTCHours) \
278 ASM(DatePrototypeGetUTCFullYear) \ 278 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \
279 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \ 279 ASM(DatePrototypeGetUTCMilliseconds) \
280 ASM(DatePrototypeGetUTCHours) \ 280 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \
281 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \ 281 ASM(DatePrototypeGetUTCMinutes) \
282 ASM(DatePrototypeGetUTCMilliseconds) \ 282 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \
283 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \ 283 ASM(DatePrototypeGetUTCMonth) \
284 ASM(DatePrototypeGetUTCMinutes) \ 284 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \
285 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \ 285 ASM(DatePrototypeGetUTCSeconds) \
286 ASM(DatePrototypeGetUTCMonth) \ 286 CPP(DatePrototypeGetYear) \
287 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \ 287 CPP(DatePrototypeSetYear) \
288 ASM(DatePrototypeGetUTCSeconds) \ 288 CPP(DateNow) \
289 CPP(DatePrototypeGetYear) \ 289 CPP(DateParse) \
290 CPP(DatePrototypeSetYear) \ 290 CPP(DatePrototypeSetDate) \
291 CPP(DateNow) \ 291 CPP(DatePrototypeSetFullYear) \
292 CPP(DateParse) \ 292 CPP(DatePrototypeSetHours) \
293 CPP(DatePrototypeSetDate) \ 293 CPP(DatePrototypeSetMilliseconds) \
294 CPP(DatePrototypeSetFullYear) \ 294 CPP(DatePrototypeSetMinutes) \
295 CPP(DatePrototypeSetHours) \ 295 CPP(DatePrototypeSetMonth) \
296 CPP(DatePrototypeSetMilliseconds) \ 296 CPP(DatePrototypeSetSeconds) \
297 CPP(DatePrototypeSetMinutes) \ 297 CPP(DatePrototypeSetTime) \
298 CPP(DatePrototypeSetMonth) \ 298 CPP(DatePrototypeSetUTCDate) \
299 CPP(DatePrototypeSetSeconds) \ 299 CPP(DatePrototypeSetUTCFullYear) \
300 CPP(DatePrototypeSetTime) \ 300 CPP(DatePrototypeSetUTCHours) \
301 CPP(DatePrototypeSetUTCDate) \ 301 CPP(DatePrototypeSetUTCMilliseconds) \
302 CPP(DatePrototypeSetUTCFullYear) \ 302 CPP(DatePrototypeSetUTCMinutes) \
303 CPP(DatePrototypeSetUTCHours) \ 303 CPP(DatePrototypeSetUTCMonth) \
304 CPP(DatePrototypeSetUTCMilliseconds) \ 304 CPP(DatePrototypeSetUTCSeconds) \
305 CPP(DatePrototypeSetUTCMinutes) \ 305 CPP(DatePrototypeToDateString) \
306 CPP(DatePrototypeSetUTCMonth) \ 306 CPP(DatePrototypeToISOString) \
307 CPP(DatePrototypeSetUTCSeconds) \ 307 CPP(DatePrototypeToPrimitive) \
308 CPP(DatePrototypeToDateString) \ 308 CPP(DatePrototypeToUTCString) \
309 CPP(DatePrototypeToISOString) \ 309 CPP(DatePrototypeToString) \
310 CPP(DatePrototypeToPrimitive) \ 310 CPP(DatePrototypeToTimeString) \
311 CPP(DatePrototypeToUTCString) \ 311 CPP(DatePrototypeValueOf) \
312 CPP(DatePrototypeToString) \ 312 CPP(DatePrototypeToJson) \
313 CPP(DatePrototypeToTimeString) \ 313 CPP(DateUTC) \
314 CPP(DatePrototypeValueOf) \ 314 \
315 CPP(DatePrototypeToJson) \ 315 /* Error */ \
316 CPP(DateUTC) \ 316 CPP(ErrorConstructor) \
317 \ 317 CPP(ErrorCaptureStackTrace) \
318 /* Error */ \ 318 CPP(ErrorPrototypeToString) \
319 CPP(ErrorConstructor) \ 319 CPP(MakeError) \
320 CPP(ErrorCaptureStackTrace) \ 320 CPP(MakeRangeError) \
321 CPP(ErrorPrototypeToString) \ 321 CPP(MakeSyntaxError) \
322 CPP(MakeError) \ 322 CPP(MakeTypeError) \
323 CPP(MakeRangeError) \ 323 CPP(MakeURIError) \
324 CPP(MakeSyntaxError) \ 324 \
325 CPP(MakeTypeError) \ 325 /* Function */ \
326 CPP(MakeURIError) \ 326 CPP(FunctionConstructor) \
327 \ 327 ASM(FunctionPrototypeApply) \
328 /* Function */ \ 328 CPP(FunctionPrototypeBind) \
329 CPP(FunctionConstructor) \ 329 ASM(FunctionPrototypeCall) \
330 ASM(FunctionPrototypeApply) \ 330 /* ES6 section 19.2.3.6 Function.prototype [ @@hasInstance ] ( V ) */ \
331 CPP(FunctionPrototypeBind) \ 331 TFJ(FunctionPrototypeHasInstance, 2) \
332 ASM(FunctionPrototypeCall) \ 332 CPP(FunctionPrototypeToString) \
333 /* ES6 section 19.2.3.6 Function.prototype [ @@hasInstance ] ( V ) */ \ 333 \
334 TFJ(FunctionPrototypeHasInstance, 2) \ 334 /* Generator and Async */ \
335 CPP(FunctionPrototypeToString) \ 335 CPP(GeneratorFunctionConstructor) \
336 \ 336 /* ES6 section 25.3.1.2 Generator.prototype.next ( value ) */ \
337 /* Generator and Async */ \ 337 TFJ(GeneratorPrototypeNext, 2) \
338 CPP(GeneratorFunctionConstructor) \ 338 /* ES6 section 25.3.1.3 Generator.prototype.return ( value ) */ \
339 /* ES6 section 25.3.1.2 Generator.prototype.next ( value ) */ \ 339 TFJ(GeneratorPrototypeReturn, 2) \
340 TFJ(GeneratorPrototypeNext, 2) \ 340 /* ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) */ \
341 /* ES6 section 25.3.1.3 Generator.prototype.return ( value ) */ \ 341 TFJ(GeneratorPrototypeThrow, 2) \
342 TFJ(GeneratorPrototypeReturn, 2) \ 342 CPP(AsyncFunctionConstructor) \
343 /* ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) */ \ 343 \
344 TFJ(GeneratorPrototypeThrow, 2) \ 344 /* Encode and decode */ \
345 CPP(AsyncFunctionConstructor) \ 345 CPP(GlobalDecodeURI) \
346 \ 346 CPP(GlobalDecodeURIComponent) \
347 /* Encode and decode */ \ 347 CPP(GlobalEncodeURI) \
348 CPP(GlobalDecodeURI) \ 348 CPP(GlobalEncodeURIComponent) \
349 CPP(GlobalDecodeURIComponent) \ 349 CPP(GlobalEscape) \
350 CPP(GlobalEncodeURI) \ 350 CPP(GlobalUnescape) \
351 CPP(GlobalEncodeURIComponent) \ 351 \
352 CPP(GlobalEscape) \ 352 /* Eval */ \
353 CPP(GlobalUnescape) \ 353 CPP(GlobalEval) \
354 \ 354 \
355 /* Eval */ \ 355 /* JSON */ \
356 CPP(GlobalEval) \ 356 CPP(JsonParse) \
357 \ 357 CPP(JsonStringify) \
358 /* JSON */ \ 358 \
359 CPP(JsonParse) \ 359 /* Math */ \
360 CPP(JsonStringify) \ 360 /* ES6 section 20.2.2.1 Math.abs ( x ) */ \
361 \ 361 TFJ(MathAbs, 2) \
362 /* Math */ \ 362 /* ES6 section 20.2.2.2 Math.acos ( x ) */ \
363 /* ES6 section 20.2.2.1 Math.abs ( x ) */ \ 363 TFJ(MathAcos, 2) \
364 TFJ(MathAbs, 2) \ 364 /* ES6 section 20.2.2.3 Math.acosh ( x ) */ \
365 /* ES6 section 20.2.2.2 Math.acos ( x ) */ \ 365 TFJ(MathAcosh, 2) \
366 TFJ(MathAcos, 2) \ 366 /* ES6 section 20.2.2.4 Math.asin ( x ) */ \
367 /* ES6 section 20.2.2.3 Math.acosh ( x ) */ \ 367 TFJ(MathAsin, 2) \
368 TFJ(MathAcosh, 2) \ 368 /* ES6 section 20.2.2.5 Math.asinh ( x ) */ \
369 /* ES6 section 20.2.2.4 Math.asin ( x ) */ \ 369 TFJ(MathAsinh, 2) \
370 TFJ(MathAsin, 2) \ 370 /* ES6 section 20.2.2.6 Math.atan ( x ) */ \
371 /* ES6 section 20.2.2.5 Math.asinh ( x ) */ \ 371 TFJ(MathAtan, 2) \
372 TFJ(MathAsinh, 2) \ 372 /* ES6 section 20.2.2.7 Math.atanh ( x ) */ \
373 /* ES6 section 20.2.2.6 Math.atan ( x ) */ \ 373 TFJ(MathAtanh, 2) \
374 TFJ(MathAtan, 2) \ 374 /* ES6 section 20.2.2.8 Math.atan2 ( y, x ) */ \
375 /* ES6 section 20.2.2.7 Math.atanh ( x ) */ \ 375 TFJ(MathAtan2, 3) \
376 TFJ(MathAtanh, 2) \ 376 /* ES6 section 20.2.2.9 Math.cbrt ( x ) */ \
377 /* ES6 section 20.2.2.8 Math.atan2 ( y, x ) */ \ 377 TFJ(MathCbrt, 2) \
378 TFJ(MathAtan2, 3) \ 378 /* ES6 section 20.2.2.10 Math.ceil ( x ) */ \
379 /* ES6 section 20.2.2.9 Math.cbrt ( x ) */ \ 379 TFJ(MathCeil, 2) \
380 TFJ(MathCbrt, 2) \ 380 /* ES6 section 20.2.2.11 Math.clz32 ( x ) */ \
381 /* ES6 section 20.2.2.10 Math.ceil ( x ) */ \ 381 TFJ(MathClz32, 2) \
382 TFJ(MathCeil, 2) \ 382 /* ES6 section 20.2.2.12 Math.cos ( x ) */ \
383 /* ES6 section 20.2.2.11 Math.clz32 ( x ) */ \ 383 TFJ(MathCos, 2) \
384 TFJ(MathClz32, 2) \ 384 /* ES6 section 20.2.2.13 Math.cosh ( x ) */ \
385 /* ES6 section 20.2.2.12 Math.cos ( x ) */ \ 385 TFJ(MathCosh, 2) \
386 TFJ(MathCos, 2) \ 386 /* ES6 section 20.2.2.14 Math.exp ( x ) */ \
387 /* ES6 section 20.2.2.13 Math.cosh ( x ) */ \ 387 TFJ(MathExp, 2) \
388 TFJ(MathCosh, 2) \ 388 /* ES6 section 20.2.2.15 Math.expm1 ( x ) */ \
389 /* ES6 section 20.2.2.14 Math.exp ( x ) */ \ 389 TFJ(MathExpm1, 2) \
390 TFJ(MathExp, 2) \ 390 /* ES6 section 20.2.2.16 Math.floor ( x ) */ \
391 /* ES6 section 20.2.2.15 Math.expm1 ( x ) */ \ 391 TFJ(MathFloor, 2) \
392 TFJ(MathExpm1, 2) \ 392 /* ES6 section 20.2.2.17 Math.fround ( x ) */ \
393 /* ES6 section 20.2.2.16 Math.floor ( x ) */ \ 393 TFJ(MathFround, 2) \
394 TFJ(MathFloor, 2) \ 394 /* ES6 section 20.2.2.18 Math.hypot ( value1, value2, ...values ) */ \
395 /* ES6 section 20.2.2.17 Math.fround ( x ) */ \ 395 CPP(MathHypot) \
396 TFJ(MathFround, 2) \ 396 /* ES6 section 20.2.2.19 Math.imul ( x, y ) */ \
397 /* ES6 section 20.2.2.18 Math.hypot ( value1, value2, ...values ) */ \ 397 TFJ(MathImul, 3) \
398 CPP(MathHypot) \ 398 /* ES6 section 20.2.2.20 Math.log ( x ) */ \
399 /* ES6 section 20.2.2.19 Math.imul ( x, y ) */ \ 399 TFJ(MathLog, 2) \
400 TFJ(MathImul, 3) \ 400 /* ES6 section 20.2.2.21 Math.log1p ( x ) */ \
401 /* ES6 section 20.2.2.20 Math.log ( x ) */ \ 401 TFJ(MathLog1p, 2) \
402 TFJ(MathLog, 2) \ 402 /* ES6 section 20.2.2.22 Math.log10 ( x ) */ \
403 /* ES6 section 20.2.2.21 Math.log1p ( x ) */ \ 403 TFJ(MathLog10, 2) \
404 TFJ(MathLog1p, 2) \ 404 /* ES6 section 20.2.2.23 Math.log2 ( x ) */ \
405 /* ES6 section 20.2.2.22 Math.log10 ( x ) */ \ 405 TFJ(MathLog2, 2) \
406 TFJ(MathLog10, 2) \ 406 /* ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) */ \
407 /* ES6 section 20.2.2.23 Math.log2 ( x ) */ \ 407 ASM(MathMax) \
408 TFJ(MathLog2, 2) \ 408 /* ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) */ \
409 /* ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) */ \ 409 ASM(MathMin) \
410 ASM(MathMax) \ 410 /* ES6 section 20.2.2.26 Math.pow ( x, y ) */ \
411 /* ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) */ \ 411 TFJ(MathPow, 3) \
412 ASM(MathMin) \ 412 /* ES6 section 20.2.2.28 Math.round ( x ) */ \
413 /* ES6 section 20.2.2.26 Math.pow ( x, y ) */ \ 413 TFJ(MathRound, 2) \
414 TFJ(MathPow, 3) \ 414 /* ES6 section 20.2.2.29 Math.sign ( x ) */ \
415 /* ES6 section 20.2.2.28 Math.round ( x ) */ \ 415 TFJ(MathSign, 2) \
416 TFJ(MathRound, 2) \ 416 /* ES6 section 20.2.2.30 Math.sin ( x ) */ \
417 /* ES6 section 20.2.2.29 Math.sign ( x ) */ \ 417 TFJ(MathSin, 2) \
418 TFJ(MathSign, 2) \ 418 /* ES6 section 20.2.2.31 Math.sinh ( x ) */ \
419 /* ES6 section 20.2.2.30 Math.sin ( x ) */ \ 419 TFJ(MathSinh, 2) \
420 TFJ(MathSin, 2) \ 420 /* ES6 section 20.2.2.32 Math.sqrt ( x ) */ \
421 /* ES6 section 20.2.2.31 Math.sinh ( x ) */ \ 421 TFJ(MathTan, 2) \
422 TFJ(MathSinh, 2) \ 422 /* ES6 section 20.2.2.33 Math.tan ( x ) */ \
423 /* ES6 section 20.2.2.32 Math.sqrt ( x ) */ \ 423 TFJ(MathTanh, 2) \
424 TFJ(MathTan, 2) \ 424 /* ES6 section 20.2.2.34 Math.tanh ( x ) */ \
425 /* ES6 section 20.2.2.33 Math.tan ( x ) */ \ 425 TFJ(MathSqrt, 2) \
426 TFJ(MathTanh, 2) \ 426 /* ES6 section 20.2.2.35 Math.trunc ( x ) */ \
427 /* ES6 section 20.2.2.34 Math.tanh ( x ) */ \ 427 TFJ(MathTrunc, 2) \
428 TFJ(MathSqrt, 2) \ 428 \
429 /* ES6 section 20.2.2.35 Math.trunc ( x ) */ \ 429 /* Number */ \
430 TFJ(MathTrunc, 2) \ 430 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case */ \
431 \ 431 ASM(NumberConstructor) \
432 /* Number */ \ 432 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case */ \
433 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case */ \ 433 ASM(NumberConstructor_ConstructStub) \
434 ASM(NumberConstructor) \ 434 CPP(NumberPrototypeToExponential) \
435 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case */ \ 435 CPP(NumberPrototypeToFixed) \
436 ASM(NumberConstructor_ConstructStub) \ 436 CPP(NumberPrototypeToLocaleString) \
437 CPP(NumberPrototypeToExponential) \ 437 CPP(NumberPrototypeToPrecision) \
438 CPP(NumberPrototypeToFixed) \ 438 CPP(NumberPrototypeToString) \
439 CPP(NumberPrototypeToLocaleString) \ 439 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \
440 CPP(NumberPrototypeToPrecision) \ 440 TFJ(NumberPrototypeValueOf, 1) \
441 CPP(NumberPrototypeToString) \ 441 \
442 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \ 442 /* Object */ \
443 TFJ(NumberPrototypeValueOf, 1) \ 443 CPP(ObjectAssign) \
444 \ 444 CPP(ObjectCreate) \
445 /* Object */ \ 445 CPP(ObjectDefineGetter) \
446 CPP(ObjectAssign) \ 446 CPP(ObjectDefineProperties) \
447 CPP(ObjectCreate) \ 447 CPP(ObjectDefineProperty) \
448 CPP(ObjectDefineGetter) \ 448 CPP(ObjectDefineSetter) \
449 CPP(ObjectDefineProperties) \ 449 CPP(ObjectEntries) \
450 CPP(ObjectDefineProperty) \ 450 CPP(ObjectFreeze) \
451 CPP(ObjectDefineSetter) \ 451 CPP(ObjectGetOwnPropertyDescriptor) \
452 CPP(ObjectEntries) \ 452 CPP(ObjectGetOwnPropertyDescriptors) \
453 CPP(ObjectFreeze) \ 453 CPP(ObjectGetOwnPropertyNames) \
454 CPP(ObjectGetOwnPropertyDescriptor) \ 454 CPP(ObjectGetOwnPropertySymbols) \
455 CPP(ObjectGetOwnPropertyDescriptors) \ 455 CPP(ObjectGetPrototypeOf) \
456 CPP(ObjectGetOwnPropertyNames) \ 456 /* ES6 section 19.1.3.2 Object.prototype.hasOwnProperty */ \
457 CPP(ObjectGetOwnPropertySymbols) \ 457 TFJ(ObjectHasOwnProperty, 2) \
458 CPP(ObjectGetPrototypeOf) \ 458 CPP(ObjectIs) \
459 /* ES6 section 19.1.3.2 Object.prototype.hasOwnProperty */ \ 459 CPP(ObjectIsExtensible) \
460 TFJ(ObjectHasOwnProperty, 2) \ 460 CPP(ObjectIsFrozen) \
461 CPP(ObjectIs) \ 461 CPP(ObjectIsSealed) \
462 CPP(ObjectIsExtensible) \ 462 CPP(ObjectKeys) \
463 CPP(ObjectIsFrozen) \ 463 CPP(ObjectLookupGetter) \
464 CPP(ObjectIsSealed) \ 464 CPP(ObjectLookupSetter) \
465 CPP(ObjectKeys) \ 465 CPP(ObjectPreventExtensions) \
466 CPP(ObjectLookupGetter) \ 466 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \
467 CPP(ObjectLookupSetter) \ 467 TFJ(ObjectProtoToString, 1) \
468 CPP(ObjectPreventExtensions) \ 468 CPP(ObjectPrototypePropertyIsEnumerable) \
469 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ 469 CPP(ObjectSeal) \
470 TFJ(ObjectProtoToString, 1) \ 470 CPP(ObjectValues) \
471 CPP(ObjectPrototypePropertyIsEnumerable) \ 471 \
472 CPP(ObjectSeal) \ 472 /* Proxy */ \
473 CPP(ObjectValues) \ 473 CPP(ProxyConstructor) \
474 \ 474 CPP(ProxyConstructor_ConstructStub) \
475 /* Proxy */ \ 475 \
476 CPP(ProxyConstructor) \ 476 /* Reflect */ \
477 CPP(ProxyConstructor_ConstructStub) \ 477 ASM(ReflectApply) \
478 \ 478 ASM(ReflectConstruct) \
479 /* Reflect */ \ 479 CPP(ReflectDefineProperty) \
480 ASM(ReflectApply) \ 480 CPP(ReflectDeleteProperty) \
481 ASM(ReflectConstruct) \ 481 CPP(ReflectGet) \
482 CPP(ReflectDefineProperty) \ 482 CPP(ReflectGetOwnPropertyDescriptor) \
483 CPP(ReflectDeleteProperty) \ 483 CPP(ReflectGetPrototypeOf) \
484 CPP(ReflectGet) \ 484 CPP(ReflectHas) \
485 CPP(ReflectGetOwnPropertyDescriptor) \ 485 CPP(ReflectIsExtensible) \
486 CPP(ReflectGetPrototypeOf) \ 486 CPP(ReflectOwnKeys) \
487 CPP(ReflectHas) \ 487 CPP(ReflectPreventExtensions) \
488 CPP(ReflectIsExtensible) \ 488 CPP(ReflectSet) \
489 CPP(ReflectOwnKeys) \ 489 CPP(ReflectSetPrototypeOf) \
490 CPP(ReflectPreventExtensions) \ 490 \
491 CPP(ReflectSet) \ 491 /* SharedArrayBuffer */ \
492 CPP(ReflectSetPrototypeOf) \ 492 CPP(SharedArrayBufferPrototypeGetByteLength) \
493 \ 493 TFJ(AtomicsLoad, 3) \
494 /* SharedArrayBuffer */ \ 494 TFJ(AtomicsStore, 4) \
495 CPP(SharedArrayBufferPrototypeGetByteLength) \ 495 \
496 TFJ(AtomicsLoad, 3) \ 496 /* String */ \
497 TFJ(AtomicsStore, 4) \ 497 ASM(StringConstructor) \
498 \ 498 ASM(StringConstructor_ConstructStub) \
499 /* String */ \ 499 CPP(StringFromCodePoint) \
500 ASM(StringConstructor) \ 500 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \
501 ASM(StringConstructor_ConstructStub) \ 501 TFJ(StringFromCharCode, 2) \
502 CPP(StringFromCodePoint) \ 502 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \
503 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \ 503 TFJ(StringPrototypeCharAt, 2) \
504 TFJ(StringFromCharCode, 2) \ 504 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \
505 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \ 505 TFJ(StringPrototypeCharCodeAt, 2) \
506 TFJ(StringPrototypeCharAt, 2) \ 506 /* ES6 section 21.1.3.25 String.prototype.toString () */ \
507 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \ 507 TFJ(StringPrototypeToString, 1) \
508 TFJ(StringPrototypeCharCodeAt, 2) \ 508 CPP(StringPrototypeTrim) \
509 /* ES6 section 21.1.3.25 String.prototype.toString () */ \ 509 CPP(StringPrototypeTrimLeft) \
510 TFJ(StringPrototypeToString, 1) \ 510 CPP(StringPrototypeTrimRight) \
511 CPP(StringPrototypeTrim) \ 511 /* ES6 section 21.1.3.28 String.prototype.valueOf () */ \
512 CPP(StringPrototypeTrimLeft) \ 512 TFJ(StringPrototypeValueOf, 1) \
513 CPP(StringPrototypeTrimRight) \ 513 \
514 /* ES6 section 21.1.3.28 String.prototype.valueOf () */ \ 514 /* Symbol */ \
515 TFJ(StringPrototypeValueOf, 1) \ 515 CPP(SymbolConstructor) \
516 \ 516 CPP(SymbolConstructor_ConstructStub) \
517 /* Symbol */ \ 517 /* ES6 section 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint ) */ \
518 CPP(SymbolConstructor) \ 518 TFJ(SymbolPrototypeToPrimitive, 2) \
519 CPP(SymbolConstructor_ConstructStub) \ 519 /* ES6 section 19.4.3.2 Symbol.prototype.toString ( ) */ \
520 /* ES6 section 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint ) */ \ 520 TFJ(SymbolPrototypeToString, 1) \
521 TFJ(SymbolPrototypeToPrimitive, 2) \ 521 /* ES6 section 19.4.3.3 Symbol.prototype.valueOf ( ) */ \
522 /* ES6 section 19.4.3.2 Symbol.prototype.toString ( ) */ \ 522 TFJ(SymbolPrototypeValueOf, 1) \
523 TFJ(SymbolPrototypeToString, 1) \ 523 \
524 /* ES6 section 19.4.3.3 Symbol.prototype.valueOf ( ) */ \ 524 /* TypedArray */ \
525 TFJ(SymbolPrototypeValueOf, 1) \ 525 CPP(TypedArrayPrototypeBuffer) \
526 \ 526 /* ES6 section 22.2.3.2 get %TypedArray%.prototype.byteLength */ \
527 /* TypedArray */ \ 527 TFJ(TypedArrayPrototypeByteLength, 1) \
528 CPP(TypedArrayPrototypeBuffer) \ 528 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \
529 /* ES6 section 22.2.3.2 get %TypedArray%.prototype.byteLength */ \ 529 TFJ(TypedArrayPrototypeByteOffset, 1) \
530 TFJ(TypedArrayPrototypeByteLength, 1) \ 530 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \
531 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \
532 TFJ(TypedArrayPrototypeByteOffset, 1) \
533 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \
534 TFJ(TypedArrayPrototypeLength, 1) 531 TFJ(TypedArrayPrototypeLength, 1)
535 532
536 #define IGNORE_BUILTIN(...) 533 #define IGNORE_BUILTIN(...)
537 534
538 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) 535 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V)
539 536
540 #define BUILTIN_LIST_C(V) \ 537 #define BUILTIN_LIST_C(V) \
541 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ 538 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
542 IGNORE_BUILTIN, IGNORE_BUILTIN) 539 IGNORE_BUILTIN, IGNORE_BUILTIN)
543 540
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 659
663 friend class Isolate; 660 friend class Isolate;
664 661
665 DISALLOW_COPY_AND_ASSIGN(Builtins); 662 DISALLOW_COPY_AND_ASSIGN(Builtins);
666 }; 663 };
667 664
668 } // namespace internal 665 } // namespace internal
669 } // namespace v8 666 } // namespace v8
670 667
671 #endif // V8_BUILTINS_BUILTINS_H_ 668 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/ast/ast-numbering.cc ('k') | src/builtins/builtins-handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698