| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_BUILTINS_BUILTINS_H_ | 5 #ifndef V8_BUILTINS_BUILTINS_H_ |
| 6 #define V8_BUILTINS_BUILTINS_H_ | 6 #define V8_BUILTINS_BUILTINS_H_ |
| 7 | 7 |
| 8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
| 9 #include "src/handles.h" | 9 #include "src/handles.h" |
| 10 | 10 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |