| 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 27 matching lines...) Expand all Loading... |
| 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 TFS(NewUnmappedArgumentsElements, BUILTIN, kNoExtraICState, \ | 154 TFS(NewUnmappedArgumentsElements, BUILTIN, kNoExtraICState, \ |
| 155 NewArgumentsElements) \ | 155 NewArgumentsElements) \ |
| 156 TFS(NewRestParameterElements, BUILTIN, kNoExtraICState, \ | 156 TFS(NewRestParameterElements, BUILTIN, kNoExtraICState, \ |
| 157 NewArgumentsElements) \ | 157 NewArgumentsElements) \ |
| 158 \ | 158 \ |
| 159 /* Debugger */ \ | 159 /* Debugger */ \ |
| 160 DBG(FrameDropper_LiveEdit) \ | 160 DBG(FrameDropper_LiveEdit) \ |
| 161 DBG(Return_DebugBreak) \ | 161 DBG(Return_DebugBreak) \ |
| 162 DBG(Slot_DebugBreak) \ | 162 DBG(Slot_DebugBreak) \ |
| 163 \ | 163 \ |
| 164 /* Type conversions */ \ | 164 /* Type conversions */ \ |
| 165 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \ | 165 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 166 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \ | 166 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 167 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \ | 167 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 168 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \ | 168 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \ |
| 169 TypeConversion) \ | 169 TypeConversion) \ |
| 170 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ | 170 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ |
| 171 TypeConversion) \ | 171 TypeConversion) \ |
| 172 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ | 172 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ |
| 173 TypeConversion) \ | 173 TypeConversion) \ |
| 174 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ | 174 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 175 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \ | 175 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 176 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ | 176 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 177 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ | 177 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 178 TFS(ToString, BUILTIN, kNoExtraICState, TypeConversion) \ | 178 TFS(ToString, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 179 TFS(ToInteger, BUILTIN, kNoExtraICState, TypeConversion) \ | 179 TFS(ToInteger, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 180 TFS(ToLength, BUILTIN, kNoExtraICState, TypeConversion) \ | 180 TFS(ToLength, BUILTIN, kNoExtraICState, TypeConversion) \ |
| 181 TFS(Typeof, BUILTIN, kNoExtraICState, Typeof) \ | 181 TFS(Typeof, BUILTIN, kNoExtraICState, Typeof) \ |
| 182 \ | 182 \ |
| 183 /* Handlers */ \ | 183 /* Handlers */ \ |
| 184 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \ | 184 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \ |
| 185 LoadWithVector) \ | 185 LoadWithVector) \ |
| 186 ASM(KeyedLoadIC_Miss) \ | 186 ASM(KeyedLoadIC_Miss) \ |
| 187 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \ | 187 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \ |
| 188 TFS(KeyedStoreIC_Megamorphic_TF, KEYED_STORE_IC, kNoExtraICState, \ | 188 TFS(KeyedStoreIC_Megamorphic_TF, KEYED_STORE_IC, kNoExtraICState, \ |
| 189 StoreWithVector) \ | 189 StoreWithVector) \ |
| 190 TFS(KeyedStoreIC_Megamorphic_Strict_TF, KEYED_STORE_IC, \ | 190 TFS(KeyedStoreIC_Megamorphic_Strict_TF, KEYED_STORE_IC, \ |
| 191 StoreICState::kStrictModeState, StoreWithVector) \ | 191 StoreICState::kStrictModeState, StoreWithVector) \ |
| 192 ASM(KeyedStoreIC_Miss) \ | 192 ASM(KeyedStoreIC_Miss) \ |
| 193 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \ | 193 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \ |
| 194 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ | 194 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ |
| 195 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \ | 195 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \ |
| 196 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \ | 196 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \ |
| 197 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ | 197 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ |
| 198 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \ | 198 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \ |
| 199 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ | 199 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ |
| 200 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ | 200 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ |
| 201 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \ | 201 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \ |
| 202 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \ | 202 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \ |
| 203 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \ | 203 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \ |
| 204 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \ | 204 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \ |
| 205 \ | 205 \ |
| 206 /* Built-in functions for Javascript */ \ | 206 /* Built-in functions for Javascript */ \ |
| 207 /* Special internal builtins */ \ | 207 /* Special internal builtins */ \ |
| 208 CPP(EmptyFunction) \ | 208 CPP(EmptyFunction) \ |
| 209 CPP(Illegal) \ | 209 CPP(Illegal) \ |
| 210 CPP(RestrictedFunctionPropertiesThrower) \ | 210 CPP(RestrictedFunctionPropertiesThrower) \ |
| 211 CPP(RestrictedStrictArgumentsPropertiesThrower) \ | 211 CPP(RestrictedStrictArgumentsPropertiesThrower) \ |
| 212 CPP(UnsupportedThrower) \ | 212 CPP(UnsupportedThrower) \ |
| 213 \ | 213 \ |
| 214 /* Array */ \ | 214 /* Array */ \ |
| 215 ASM(ArrayCode) \ | 215 ASM(ArrayCode) \ |
| 216 ASM(InternalArrayCode) \ | 216 ASM(InternalArrayCode) \ |
| 217 CPP(ArrayConcat) \ | 217 CPP(ArrayConcat) \ |
| 218 /* ES6 section 22.1.2.2 Array.isArray */ \ | 218 /* ES6 section 22.1.2.2 Array.isArray */ \ |
| 219 TFJ(ArrayIsArray, 1) \ | 219 TFJ(ArrayIsArray, 1) \ |
| 220 /* ES7 #sec-array.prototype.includes */ \ | 220 /* ES7 #sec-array.prototype.includes */ \ |
| 221 TFJ(ArrayIncludes, 2) \ | 221 TFJ(ArrayIncludes, 2) \ |
| 222 TFJ(ArrayIndexOf, 2) \ | 222 TFJ(ArrayIndexOf, 2) \ |
| 223 CPP(ArrayPop) \ | 223 CPP(ArrayPop) \ |
| 224 CPP(ArrayPush) \ | 224 CPP(ArrayPush) \ |
| 225 TFJ(FastArrayPush, -1) \ | 225 TFJ(FastArrayPush, -1) \ |
| 226 CPP(ArrayShift) \ | 226 CPP(ArrayShift) \ |
| 227 CPP(ArraySlice) \ | 227 CPP(ArraySlice) \ |
| 228 CPP(ArraySplice) \ | 228 CPP(ArraySplice) \ |
| 229 CPP(ArrayUnshift) \ | 229 CPP(ArrayUnshift) \ |
| 230 /* ES6 #sec-array.prototype.entries */ \ | 230 /* ES6 #sec-array.prototype.entries */ \ |
| 231 TFJ(ArrayPrototypeEntries, 0) \ | 231 TFJ(ArrayPrototypeEntries, 0) \ |
| 232 /* ES6 #sec-array.prototype.keys */ \ | 232 /* ES6 #sec-array.prototype.keys */ \ |
| 233 TFJ(ArrayPrototypeKeys, 0) \ | 233 TFJ(ArrayPrototypeKeys, 0) \ |
| 234 /* ES6 #sec-array.prototype.values */ \ | 234 /* ES6 #sec-array.prototype.values */ \ |
| 235 TFJ(ArrayPrototypeValues, 0) \ | 235 TFJ(ArrayPrototypeValues, 0) \ |
| 236 /* ES6 #sec-%arrayiteratorprototype%.next */ \ | 236 /* ES6 #sec-%arrayiteratorprototype%.next */ \ |
| 237 TFJ(ArrayIteratorPrototypeNext, 0) \ | 237 TFJ(ArrayIteratorPrototypeNext, 0) \ |
| 238 \ | 238 \ |
| 239 /* ArrayBuffer */ \ | 239 /* ArrayBuffer */ \ |
| 240 CPP(ArrayBufferConstructor) \ | 240 CPP(ArrayBufferConstructor) \ |
| 241 CPP(ArrayBufferConstructor_ConstructStub) \ | 241 CPP(ArrayBufferConstructor_ConstructStub) \ |
| 242 CPP(ArrayBufferPrototypeGetByteLength) \ | 242 CPP(ArrayBufferPrototypeGetByteLength) \ |
| 243 CPP(ArrayBufferIsView) \ | 243 CPP(ArrayBufferIsView) \ |
| 244 \ | 244 \ |
| 245 /* Boolean */ \ | 245 /* Boolean */ \ |
| 246 CPP(BooleanConstructor) \ | 246 CPP(BooleanConstructor) \ |
| 247 CPP(BooleanConstructor_ConstructStub) \ | 247 CPP(BooleanConstructor_ConstructStub) \ |
| 248 /* ES6 section 19.3.3.2 Boolean.prototype.toString ( ) */ \ | 248 /* ES6 section 19.3.3.2 Boolean.prototype.toString ( ) */ \ |
| 249 TFJ(BooleanPrototypeToString, 0) \ | 249 TFJ(BooleanPrototypeToString, 0) \ |
| 250 /* ES6 section 19.3.3.3 Boolean.prototype.valueOf ( ) */ \ | 250 /* ES6 section 19.3.3.3 Boolean.prototype.valueOf ( ) */ \ |
| 251 TFJ(BooleanPrototypeValueOf, 0) \ | 251 TFJ(BooleanPrototypeValueOf, 0) \ |
| 252 \ | 252 \ |
| 253 /* CallSite */ \ | 253 /* CallSite */ \ |
| 254 CPP(CallSitePrototypeGetColumnNumber) \ | 254 CPP(CallSitePrototypeGetColumnNumber) \ |
| 255 CPP(CallSitePrototypeGetEvalOrigin) \ | 255 CPP(CallSitePrototypeGetEvalOrigin) \ |
| 256 CPP(CallSitePrototypeGetFileName) \ | 256 CPP(CallSitePrototypeGetFileName) \ |
| 257 CPP(CallSitePrototypeGetFunction) \ | 257 CPP(CallSitePrototypeGetFunction) \ |
| 258 CPP(CallSitePrototypeGetFunctionName) \ | 258 CPP(CallSitePrototypeGetFunctionName) \ |
| 259 CPP(CallSitePrototypeGetLineNumber) \ | 259 CPP(CallSitePrototypeGetLineNumber) \ |
| 260 CPP(CallSitePrototypeGetMethodName) \ | 260 CPP(CallSitePrototypeGetMethodName) \ |
| 261 CPP(CallSitePrototypeGetPosition) \ | 261 CPP(CallSitePrototypeGetPosition) \ |
| 262 CPP(CallSitePrototypeGetScriptNameOrSourceURL) \ | 262 CPP(CallSitePrototypeGetScriptNameOrSourceURL) \ |
| 263 CPP(CallSitePrototypeGetThis) \ | 263 CPP(CallSitePrototypeGetThis) \ |
| 264 CPP(CallSitePrototypeGetTypeName) \ | 264 CPP(CallSitePrototypeGetTypeName) \ |
| 265 CPP(CallSitePrototypeIsConstructor) \ | 265 CPP(CallSitePrototypeIsConstructor) \ |
| 266 CPP(CallSitePrototypeIsEval) \ | 266 CPP(CallSitePrototypeIsEval) \ |
| 267 CPP(CallSitePrototypeIsNative) \ | 267 CPP(CallSitePrototypeIsNative) \ |
| 268 CPP(CallSitePrototypeIsToplevel) \ | 268 CPP(CallSitePrototypeIsToplevel) \ |
| 269 CPP(CallSitePrototypeToString) \ | 269 CPP(CallSitePrototypeToString) \ |
| 270 \ | 270 \ |
| 271 /* DataView */ \ | 271 /* DataView */ \ |
| 272 CPP(DataViewConstructor) \ | 272 CPP(DataViewConstructor) \ |
| 273 CPP(DataViewConstructor_ConstructStub) \ | 273 CPP(DataViewConstructor_ConstructStub) \ |
| 274 CPP(DataViewPrototypeGetBuffer) \ | 274 CPP(DataViewPrototypeGetBuffer) \ |
| 275 CPP(DataViewPrototypeGetByteLength) \ | 275 CPP(DataViewPrototypeGetByteLength) \ |
| 276 CPP(DataViewPrototypeGetByteOffset) \ | 276 CPP(DataViewPrototypeGetByteOffset) \ |
| 277 CPP(DataViewPrototypeGetInt8) \ | 277 CPP(DataViewPrototypeGetInt8) \ |
| 278 CPP(DataViewPrototypeSetInt8) \ | 278 CPP(DataViewPrototypeSetInt8) \ |
| 279 CPP(DataViewPrototypeGetUint8) \ | 279 CPP(DataViewPrototypeGetUint8) \ |
| 280 CPP(DataViewPrototypeSetUint8) \ | 280 CPP(DataViewPrototypeSetUint8) \ |
| 281 CPP(DataViewPrototypeGetInt16) \ | 281 CPP(DataViewPrototypeGetInt16) \ |
| 282 CPP(DataViewPrototypeSetInt16) \ | 282 CPP(DataViewPrototypeSetInt16) \ |
| 283 CPP(DataViewPrototypeGetUint16) \ | 283 CPP(DataViewPrototypeGetUint16) \ |
| 284 CPP(DataViewPrototypeSetUint16) \ | 284 CPP(DataViewPrototypeSetUint16) \ |
| 285 CPP(DataViewPrototypeGetInt32) \ | 285 CPP(DataViewPrototypeGetInt32) \ |
| 286 CPP(DataViewPrototypeSetInt32) \ | 286 CPP(DataViewPrototypeSetInt32) \ |
| 287 CPP(DataViewPrototypeGetUint32) \ | 287 CPP(DataViewPrototypeGetUint32) \ |
| 288 CPP(DataViewPrototypeSetUint32) \ | 288 CPP(DataViewPrototypeSetUint32) \ |
| 289 CPP(DataViewPrototypeGetFloat32) \ | 289 CPP(DataViewPrototypeGetFloat32) \ |
| 290 CPP(DataViewPrototypeSetFloat32) \ | 290 CPP(DataViewPrototypeSetFloat32) \ |
| 291 CPP(DataViewPrototypeGetFloat64) \ | 291 CPP(DataViewPrototypeGetFloat64) \ |
| 292 CPP(DataViewPrototypeSetFloat64) \ | 292 CPP(DataViewPrototypeSetFloat64) \ |
| 293 \ | 293 \ |
| 294 /* Date */ \ | 294 /* Date */ \ |
| 295 CPP(DateConstructor) \ | 295 CPP(DateConstructor) \ |
| 296 CPP(DateConstructor_ConstructStub) \ | 296 CPP(DateConstructor_ConstructStub) \ |
| 297 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \ | 297 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \ |
| 298 TFJ(DatePrototypeGetDate, 0) \ | 298 TFJ(DatePrototypeGetDate, 0) \ |
| 299 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \ | 299 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \ |
| 300 TFJ(DatePrototypeGetDay, 0) \ | 300 TFJ(DatePrototypeGetDay, 0) \ |
| 301 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \ | 301 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \ |
| 302 TFJ(DatePrototypeGetFullYear, 0) \ | 302 TFJ(DatePrototypeGetFullYear, 0) \ |
| 303 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \ | 303 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \ |
| 304 TFJ(DatePrototypeGetHours, 0) \ | 304 TFJ(DatePrototypeGetHours, 0) \ |
| 305 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \ | 305 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \ |
| 306 TFJ(DatePrototypeGetMilliseconds, 0) \ | 306 TFJ(DatePrototypeGetMilliseconds, 0) \ |
| 307 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \ | 307 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \ |
| 308 TFJ(DatePrototypeGetMinutes, 0) \ | 308 TFJ(DatePrototypeGetMinutes, 0) \ |
| 309 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \ | 309 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \ |
| 310 TFJ(DatePrototypeGetMonth, 0) \ | 310 TFJ(DatePrototypeGetMonth, 0) \ |
| 311 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \ | 311 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \ |
| 312 TFJ(DatePrototypeGetSeconds, 0) \ | 312 TFJ(DatePrototypeGetSeconds, 0) \ |
| 313 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \ | 313 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \ |
| 314 TFJ(DatePrototypeGetTime, 0) \ | 314 TFJ(DatePrototypeGetTime, 0) \ |
| 315 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \ | 315 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \ |
| 316 TFJ(DatePrototypeGetTimezoneOffset, 0) \ | 316 TFJ(DatePrototypeGetTimezoneOffset, 0) \ |
| 317 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \ | 317 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \ |
| 318 TFJ(DatePrototypeGetUTCDate, 0) \ | 318 TFJ(DatePrototypeGetUTCDate, 0) \ |
| 319 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \ | 319 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \ |
| 320 TFJ(DatePrototypeGetUTCDay, 0) \ | 320 TFJ(DatePrototypeGetUTCDay, 0) \ |
| 321 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \ | 321 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \ |
| 322 TFJ(DatePrototypeGetUTCFullYear, 0) \ | 322 TFJ(DatePrototypeGetUTCFullYear, 0) \ |
| 323 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \ | 323 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \ |
| 324 TFJ(DatePrototypeGetUTCHours, 0) \ | 324 TFJ(DatePrototypeGetUTCHours, 0) \ |
| 325 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \ | 325 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \ |
| 326 TFJ(DatePrototypeGetUTCMilliseconds, 0) \ | 326 TFJ(DatePrototypeGetUTCMilliseconds, 0) \ |
| 327 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \ | 327 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \ |
| 328 TFJ(DatePrototypeGetUTCMinutes, 0) \ | 328 TFJ(DatePrototypeGetUTCMinutes, 0) \ |
| 329 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \ | 329 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \ |
| 330 TFJ(DatePrototypeGetUTCMonth, 0) \ | 330 TFJ(DatePrototypeGetUTCMonth, 0) \ |
| 331 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \ | 331 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \ |
| 332 TFJ(DatePrototypeGetUTCSeconds, 0) \ | 332 TFJ(DatePrototypeGetUTCSeconds, 0) \ |
| 333 CPP(DatePrototypeGetYear) \ | 333 CPP(DatePrototypeGetYear) \ |
| 334 CPP(DatePrototypeSetYear) \ | 334 CPP(DatePrototypeSetYear) \ |
| 335 CPP(DateNow) \ | 335 CPP(DateNow) \ |
| 336 CPP(DateParse) \ | 336 CPP(DateParse) \ |
| 337 CPP(DatePrototypeSetDate) \ | 337 CPP(DatePrototypeSetDate) \ |
| 338 CPP(DatePrototypeSetFullYear) \ | 338 CPP(DatePrototypeSetFullYear) \ |
| 339 CPP(DatePrototypeSetHours) \ | 339 CPP(DatePrototypeSetHours) \ |
| 340 CPP(DatePrototypeSetMilliseconds) \ | 340 CPP(DatePrototypeSetMilliseconds) \ |
| 341 CPP(DatePrototypeSetMinutes) \ | 341 CPP(DatePrototypeSetMinutes) \ |
| 342 CPP(DatePrototypeSetMonth) \ | 342 CPP(DatePrototypeSetMonth) \ |
| 343 CPP(DatePrototypeSetSeconds) \ | 343 CPP(DatePrototypeSetSeconds) \ |
| 344 CPP(DatePrototypeSetTime) \ | 344 CPP(DatePrototypeSetTime) \ |
| 345 CPP(DatePrototypeSetUTCDate) \ | 345 CPP(DatePrototypeSetUTCDate) \ |
| 346 CPP(DatePrototypeSetUTCFullYear) \ | 346 CPP(DatePrototypeSetUTCFullYear) \ |
| 347 CPP(DatePrototypeSetUTCHours) \ | 347 CPP(DatePrototypeSetUTCHours) \ |
| 348 CPP(DatePrototypeSetUTCMilliseconds) \ | 348 CPP(DatePrototypeSetUTCMilliseconds) \ |
| 349 CPP(DatePrototypeSetUTCMinutes) \ | 349 CPP(DatePrototypeSetUTCMinutes) \ |
| 350 CPP(DatePrototypeSetUTCMonth) \ | 350 CPP(DatePrototypeSetUTCMonth) \ |
| 351 CPP(DatePrototypeSetUTCSeconds) \ | 351 CPP(DatePrototypeSetUTCSeconds) \ |
| 352 CPP(DatePrototypeToDateString) \ | 352 CPP(DatePrototypeToDateString) \ |
| 353 CPP(DatePrototypeToISOString) \ | 353 CPP(DatePrototypeToISOString) \ |
| 354 CPP(DatePrototypeToPrimitive) \ | 354 CPP(DatePrototypeToPrimitive) \ |
| 355 CPP(DatePrototypeToUTCString) \ | 355 CPP(DatePrototypeToUTCString) \ |
| 356 CPP(DatePrototypeToString) \ | 356 CPP(DatePrototypeToString) \ |
| 357 CPP(DatePrototypeToTimeString) \ | 357 CPP(DatePrototypeToTimeString) \ |
| 358 CPP(DatePrototypeValueOf) \ | 358 CPP(DatePrototypeValueOf) \ |
| 359 CPP(DatePrototypeToJson) \ | 359 CPP(DatePrototypeToJson) \ |
| 360 CPP(DateUTC) \ | 360 CPP(DateUTC) \ |
| 361 \ | 361 \ |
| 362 /* Error */ \ | 362 /* Error */ \ |
| 363 CPP(ErrorConstructor) \ | 363 CPP(ErrorConstructor) \ |
| 364 CPP(ErrorCaptureStackTrace) \ | 364 CPP(ErrorCaptureStackTrace) \ |
| 365 CPP(ErrorPrototypeToString) \ | 365 CPP(ErrorPrototypeToString) \ |
| 366 CPP(MakeError) \ | 366 CPP(MakeError) \ |
| 367 CPP(MakeRangeError) \ | 367 CPP(MakeRangeError) \ |
| 368 CPP(MakeSyntaxError) \ | 368 CPP(MakeSyntaxError) \ |
| 369 CPP(MakeTypeError) \ | 369 CPP(MakeTypeError) \ |
| 370 CPP(MakeURIError) \ | 370 CPP(MakeURIError) \ |
| 371 \ | 371 \ |
| 372 /* Function */ \ | 372 /* Function */ \ |
| 373 CPP(FunctionConstructor) \ | 373 CPP(FunctionConstructor) \ |
| 374 ASM(FunctionPrototypeApply) \ | 374 ASM(FunctionPrototypeApply) \ |
| 375 CPP(FunctionPrototypeBind) \ | 375 CPP(FunctionPrototypeBind) \ |
| 376 TFJ(FastFunctionPrototypeBind, \ | 376 TFJ(FastFunctionPrototypeBind, \ |
| 377 SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ | 377 SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ |
| 378 ASM(FunctionPrototypeCall) \ | 378 ASM(FunctionPrototypeCall) \ |
| 379 /* ES6 section 19.2.3.6 Function.prototype [ @@hasInstance ] ( V ) */ \ | 379 /* ES6 section 19.2.3.6 Function.prototype [ @@hasInstance ] ( V ) */ \ |
| 380 TFJ(FunctionPrototypeHasInstance, 1) \ | 380 TFJ(FunctionPrototypeHasInstance, 1) \ |
| 381 CPP(FunctionPrototypeToString) \ | 381 CPP(FunctionPrototypeToString) \ |
| 382 \ | 382 \ |
| 383 /* Generator and Async */ \ | 383 /* Generator and Async */ \ |
| 384 CPP(GeneratorFunctionConstructor) \ | 384 CPP(GeneratorFunctionConstructor) \ |
| 385 /* ES6 section 25.3.1.2 Generator.prototype.next ( value ) */ \ | 385 /* ES6 section 25.3.1.2 Generator.prototype.next ( value ) */ \ |
| 386 TFJ(GeneratorPrototypeNext, 1) \ | 386 TFJ(GeneratorPrototypeNext, 1) \ |
| 387 /* ES6 section 25.3.1.3 Generator.prototype.return ( value ) */ \ | 387 /* ES6 section 25.3.1.3 Generator.prototype.return ( value ) */ \ |
| 388 TFJ(GeneratorPrototypeReturn, 1) \ | 388 TFJ(GeneratorPrototypeReturn, 1) \ |
| 389 /* ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) */ \ | 389 /* ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) */ \ |
| 390 TFJ(GeneratorPrototypeThrow, 1) \ | 390 TFJ(GeneratorPrototypeThrow, 1) \ |
| 391 CPP(AsyncFunctionConstructor) \ | 391 CPP(AsyncFunctionConstructor) \ |
| 392 \ | 392 \ |
| 393 /* Global object */ \ | 393 /* Global object */ \ |
| 394 CPP(GlobalDecodeURI) \ | 394 CPP(GlobalDecodeURI) \ |
| 395 CPP(GlobalDecodeURIComponent) \ | 395 CPP(GlobalDecodeURIComponent) \ |
| 396 CPP(GlobalEncodeURI) \ | 396 CPP(GlobalEncodeURI) \ |
| 397 CPP(GlobalEncodeURIComponent) \ | 397 CPP(GlobalEncodeURIComponent) \ |
| 398 CPP(GlobalEscape) \ | 398 CPP(GlobalEscape) \ |
| 399 CPP(GlobalUnescape) \ | 399 CPP(GlobalUnescape) \ |
| 400 CPP(GlobalEval) \ | 400 CPP(GlobalEval) \ |
| 401 /* ES6 section 18.2.2 isFinite ( number ) */ \ | 401 /* ES6 section 18.2.2 isFinite ( number ) */ \ |
| 402 TFJ(GlobalIsFinite, 1) \ | 402 TFJ(GlobalIsFinite, 1) \ |
| 403 /* ES6 section 18.2.3 isNaN ( number ) */ \ | 403 /* ES6 section 18.2.3 isNaN ( number ) */ \ |
| 404 TFJ(GlobalIsNaN, 1) \ | 404 TFJ(GlobalIsNaN, 1) \ |
| 405 \ | 405 \ |
| 406 /* ES6 #sec-%iteratorprototype%-@@iterator */ \ | 406 /* ES6 #sec-%iteratorprototype%-@@iterator */ \ |
| 407 TFJ(IteratorPrototypeIterator, 0) \ | 407 TFJ(IteratorPrototypeIterator, 0) \ |
| 408 \ | 408 \ |
| 409 /* JSON */ \ | 409 /* JSON */ \ |
| 410 CPP(JsonParse) \ | 410 CPP(JsonParse) \ |
| 411 CPP(JsonStringify) \ | 411 CPP(JsonStringify) \ |
| 412 \ | 412 \ |
| 413 /* Math */ \ | 413 /* Math */ \ |
| 414 /* ES6 section 20.2.2.1 Math.abs ( x ) */ \ | 414 /* ES6 section 20.2.2.1 Math.abs ( x ) */ \ |
| 415 TFJ(MathAbs, 1) \ | 415 TFJ(MathAbs, 1) \ |
| 416 /* ES6 section 20.2.2.2 Math.acos ( x ) */ \ | 416 /* ES6 section 20.2.2.2 Math.acos ( x ) */ \ |
| 417 TFJ(MathAcos, 1) \ | 417 TFJ(MathAcos, 1) \ |
| 418 /* ES6 section 20.2.2.3 Math.acosh ( x ) */ \ | 418 /* ES6 section 20.2.2.3 Math.acosh ( x ) */ \ |
| 419 TFJ(MathAcosh, 1) \ | 419 TFJ(MathAcosh, 1) \ |
| 420 /* ES6 section 20.2.2.4 Math.asin ( x ) */ \ | 420 /* ES6 section 20.2.2.4 Math.asin ( x ) */ \ |
| 421 TFJ(MathAsin, 1) \ | 421 TFJ(MathAsin, 1) \ |
| 422 /* ES6 section 20.2.2.5 Math.asinh ( x ) */ \ | 422 /* ES6 section 20.2.2.5 Math.asinh ( x ) */ \ |
| 423 TFJ(MathAsinh, 1) \ | 423 TFJ(MathAsinh, 1) \ |
| 424 /* ES6 section 20.2.2.6 Math.atan ( x ) */ \ | 424 /* ES6 section 20.2.2.6 Math.atan ( x ) */ \ |
| 425 TFJ(MathAtan, 1) \ | 425 TFJ(MathAtan, 1) \ |
| 426 /* ES6 section 20.2.2.7 Math.atanh ( x ) */ \ | 426 /* ES6 section 20.2.2.7 Math.atanh ( x ) */ \ |
| 427 TFJ(MathAtanh, 1) \ | 427 TFJ(MathAtanh, 1) \ |
| 428 /* ES6 section 20.2.2.8 Math.atan2 ( y, x ) */ \ | 428 /* ES6 section 20.2.2.8 Math.atan2 ( y, x ) */ \ |
| 429 TFJ(MathAtan2, 2) \ | 429 TFJ(MathAtan2, 2) \ |
| 430 /* ES6 section 20.2.2.9 Math.cbrt ( x ) */ \ | 430 /* ES6 section 20.2.2.9 Math.cbrt ( x ) */ \ |
| 431 TFJ(MathCbrt, 1) \ | 431 TFJ(MathCbrt, 1) \ |
| 432 /* ES6 section 20.2.2.10 Math.ceil ( x ) */ \ | 432 /* ES6 section 20.2.2.10 Math.ceil ( x ) */ \ |
| 433 TFJ(MathCeil, 1) \ | 433 TFJ(MathCeil, 1) \ |
| 434 /* ES6 section 20.2.2.11 Math.clz32 ( x ) */ \ | 434 /* ES6 section 20.2.2.11 Math.clz32 ( x ) */ \ |
| 435 TFJ(MathClz32, 1) \ | 435 TFJ(MathClz32, 1) \ |
| 436 /* ES6 section 20.2.2.12 Math.cos ( x ) */ \ | 436 /* ES6 section 20.2.2.12 Math.cos ( x ) */ \ |
| 437 TFJ(MathCos, 1) \ | 437 TFJ(MathCos, 1) \ |
| 438 /* ES6 section 20.2.2.13 Math.cosh ( x ) */ \ | 438 /* ES6 section 20.2.2.13 Math.cosh ( x ) */ \ |
| 439 TFJ(MathCosh, 1) \ | 439 TFJ(MathCosh, 1) \ |
| 440 /* ES6 section 20.2.2.14 Math.exp ( x ) */ \ | 440 /* ES6 section 20.2.2.14 Math.exp ( x ) */ \ |
| 441 TFJ(MathExp, 1) \ | 441 TFJ(MathExp, 1) \ |
| 442 /* ES6 section 20.2.2.15 Math.expm1 ( x ) */ \ | 442 /* ES6 section 20.2.2.15 Math.expm1 ( x ) */ \ |
| 443 TFJ(MathExpm1, 1) \ | 443 TFJ(MathExpm1, 1) \ |
| 444 /* ES6 section 20.2.2.16 Math.floor ( x ) */ \ | 444 /* ES6 section 20.2.2.16 Math.floor ( x ) */ \ |
| 445 TFJ(MathFloor, 1) \ | 445 TFJ(MathFloor, 1) \ |
| 446 /* ES6 section 20.2.2.17 Math.fround ( x ) */ \ | 446 /* ES6 section 20.2.2.17 Math.fround ( x ) */ \ |
| 447 TFJ(MathFround, 1) \ | 447 TFJ(MathFround, 1) \ |
| 448 /* ES6 section 20.2.2.18 Math.hypot ( value1, value2, ...values ) */ \ | 448 /* ES6 section 20.2.2.18 Math.hypot ( value1, value2, ...values ) */ \ |
| 449 CPP(MathHypot) \ | 449 CPP(MathHypot) \ |
| 450 /* ES6 section 20.2.2.19 Math.imul ( x, y ) */ \ | 450 /* ES6 section 20.2.2.19 Math.imul ( x, y ) */ \ |
| 451 TFJ(MathImul, 2) \ | 451 TFJ(MathImul, 2) \ |
| 452 /* ES6 section 20.2.2.20 Math.log ( x ) */ \ | 452 /* ES6 section 20.2.2.20 Math.log ( x ) */ \ |
| 453 TFJ(MathLog, 1) \ | 453 TFJ(MathLog, 1) \ |
| 454 /* ES6 section 20.2.2.21 Math.log1p ( x ) */ \ | 454 /* ES6 section 20.2.2.21 Math.log1p ( x ) */ \ |
| 455 TFJ(MathLog1p, 1) \ | 455 TFJ(MathLog1p, 1) \ |
| 456 /* ES6 section 20.2.2.22 Math.log10 ( x ) */ \ | 456 /* ES6 section 20.2.2.22 Math.log10 ( x ) */ \ |
| 457 TFJ(MathLog10, 1) \ | 457 TFJ(MathLog10, 1) \ |
| 458 /* ES6 section 20.2.2.23 Math.log2 ( x ) */ \ | 458 /* ES6 section 20.2.2.23 Math.log2 ( x ) */ \ |
| 459 TFJ(MathLog2, 1) \ | 459 TFJ(MathLog2, 1) \ |
| 460 /* ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) */ \ | 460 /* ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) */ \ |
| 461 ASM(MathMax) \ | 461 ASM(MathMax) \ |
| 462 /* ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) */ \ | 462 /* ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) */ \ |
| 463 ASM(MathMin) \ | 463 ASM(MathMin) \ |
| 464 /* ES6 section 20.2.2.26 Math.pow ( x, y ) */ \ | 464 /* ES6 section 20.2.2.26 Math.pow ( x, y ) */ \ |
| 465 TFJ(MathPow, 2) \ | 465 TFJ(MathPow, 2) \ |
| 466 /* ES6 section 20.2.2.27 Math.random */ \ | 466 /* ES6 section 20.2.2.27 Math.random */ \ |
| 467 TFJ(MathRandom, 0) \ | 467 TFJ(MathRandom, 0) \ |
| 468 /* ES6 section 20.2.2.28 Math.round ( x ) */ \ | 468 /* ES6 section 20.2.2.28 Math.round ( x ) */ \ |
| 469 TFJ(MathRound, 1) \ | 469 TFJ(MathRound, 1) \ |
| 470 /* ES6 section 20.2.2.29 Math.sign ( x ) */ \ | 470 /* ES6 section 20.2.2.29 Math.sign ( x ) */ \ |
| 471 TFJ(MathSign, 1) \ | 471 TFJ(MathSign, 1) \ |
| 472 /* ES6 section 20.2.2.30 Math.sin ( x ) */ \ | 472 /* ES6 section 20.2.2.30 Math.sin ( x ) */ \ |
| 473 TFJ(MathSin, 1) \ | 473 TFJ(MathSin, 1) \ |
| 474 /* ES6 section 20.2.2.31 Math.sinh ( x ) */ \ | 474 /* ES6 section 20.2.2.31 Math.sinh ( x ) */ \ |
| 475 TFJ(MathSinh, 1) \ | 475 TFJ(MathSinh, 1) \ |
| 476 /* ES6 section 20.2.2.32 Math.sqrt ( x ) */ \ | 476 /* ES6 section 20.2.2.32 Math.sqrt ( x ) */ \ |
| 477 TFJ(MathTan, 1) \ | 477 TFJ(MathTan, 1) \ |
| 478 /* ES6 section 20.2.2.33 Math.tan ( x ) */ \ | 478 /* ES6 section 20.2.2.33 Math.tan ( x ) */ \ |
| 479 TFJ(MathTanh, 1) \ | 479 TFJ(MathTanh, 1) \ |
| 480 /* ES6 section 20.2.2.34 Math.tanh ( x ) */ \ | 480 /* ES6 section 20.2.2.34 Math.tanh ( x ) */ \ |
| 481 TFJ(MathSqrt, 1) \ | 481 TFJ(MathSqrt, 1) \ |
| 482 /* ES6 section 20.2.2.35 Math.trunc ( x ) */ \ | 482 /* ES6 section 20.2.2.35 Math.trunc ( x ) */ \ |
| 483 TFJ(MathTrunc, 1) \ | 483 TFJ(MathTrunc, 1) \ |
| 484 \ | 484 \ |
| 485 /* Number */ \ | 485 /* Number */ \ |
| 486 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case */ \ | 486 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case */ \ |
| 487 ASM(NumberConstructor) \ | 487 ASM(NumberConstructor) \ |
| 488 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case */ \ | 488 /* ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case */ \ |
| 489 ASM(NumberConstructor_ConstructStub) \ | 489 ASM(NumberConstructor_ConstructStub) \ |
| 490 /* ES6 section 20.1.2.2 Number.isFinite ( number ) */ \ | 490 /* ES6 section 20.1.2.2 Number.isFinite ( number ) */ \ |
| 491 TFJ(NumberIsFinite, 1) \ | 491 TFJ(NumberIsFinite, 1) \ |
| 492 /* ES6 section 20.1.2.3 Number.isInteger ( number ) */ \ | 492 /* ES6 section 20.1.2.3 Number.isInteger ( number ) */ \ |
| 493 TFJ(NumberIsInteger, 1) \ | 493 TFJ(NumberIsInteger, 1) \ |
| 494 /* ES6 section 20.1.2.4 Number.isNaN ( number ) */ \ | 494 /* ES6 section 20.1.2.4 Number.isNaN ( number ) */ \ |
| 495 TFJ(NumberIsNaN, 1) \ | 495 TFJ(NumberIsNaN, 1) \ |
| 496 /* ES6 section 20.1.2.5 Number.isSafeInteger ( number ) */ \ | 496 /* ES6 section 20.1.2.5 Number.isSafeInteger ( number ) */ \ |
| 497 TFJ(NumberIsSafeInteger, 1) \ | 497 TFJ(NumberIsSafeInteger, 1) \ |
| 498 /* ES6 section 20.1.2.12 Number.parseFloat ( string ) */ \ | 498 /* ES6 section 20.1.2.12 Number.parseFloat ( string ) */ \ |
| 499 TFJ(NumberParseFloat, 1) \ | 499 TFJ(NumberParseFloat, 1) \ |
| 500 /* ES6 section 20.1.2.13 Number.parseInt ( string, radix ) */ \ | 500 /* ES6 section 20.1.2.13 Number.parseInt ( string, radix ) */ \ |
| 501 TFJ(NumberParseInt, 2) \ | 501 TFJ(NumberParseInt, 2) \ |
| 502 CPP(NumberPrototypeToExponential) \ | 502 CPP(NumberPrototypeToExponential) \ |
| 503 CPP(NumberPrototypeToFixed) \ | 503 CPP(NumberPrototypeToFixed) \ |
| 504 CPP(NumberPrototypeToLocaleString) \ | 504 CPP(NumberPrototypeToLocaleString) \ |
| 505 CPP(NumberPrototypeToPrecision) \ | 505 CPP(NumberPrototypeToPrecision) \ |
| 506 CPP(NumberPrototypeToString) \ | 506 CPP(NumberPrototypeToString) \ |
| 507 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \ | 507 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \ |
| 508 TFJ(NumberPrototypeValueOf, 0) \ | 508 TFJ(NumberPrototypeValueOf, 0) \ |
| 509 TFS(Add, BUILTIN, kNoExtraICState, BinaryOp) \ | 509 TFS(Add, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 510 TFS(Subtract, BUILTIN, kNoExtraICState, BinaryOp) \ | 510 TFS(Subtract, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 511 TFS(Multiply, BUILTIN, kNoExtraICState, BinaryOp) \ | 511 TFS(Multiply, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 512 TFS(Divide, BUILTIN, kNoExtraICState, BinaryOp) \ | 512 TFS(Divide, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 513 TFS(Modulus, BUILTIN, kNoExtraICState, BinaryOp) \ | 513 TFS(Modulus, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 514 TFS(BitwiseAnd, BUILTIN, kNoExtraICState, BinaryOp) \ | 514 TFS(BitwiseAnd, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 515 TFS(BitwiseOr, BUILTIN, kNoExtraICState, BinaryOp) \ | 515 TFS(BitwiseOr, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 516 TFS(BitwiseXor, BUILTIN, kNoExtraICState, BinaryOp) \ | 516 TFS(BitwiseXor, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 517 TFS(ShiftLeft, BUILTIN, kNoExtraICState, BinaryOp) \ | 517 TFS(ShiftLeft, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 518 TFS(ShiftRight, BUILTIN, kNoExtraICState, BinaryOp) \ | 518 TFS(ShiftRight, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 519 TFS(ShiftRightLogical, BUILTIN, kNoExtraICState, BinaryOp) \ | 519 TFS(ShiftRightLogical, BUILTIN, kNoExtraICState, BinaryOp) \ |
| 520 TFS(LessThan, BUILTIN, kNoExtraICState, Compare) \ | 520 TFS(LessThan, BUILTIN, kNoExtraICState, Compare) \ |
| 521 TFS(LessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ | 521 TFS(LessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ |
| 522 TFS(GreaterThan, BUILTIN, kNoExtraICState, Compare) \ | 522 TFS(GreaterThan, BUILTIN, kNoExtraICState, Compare) \ |
| 523 TFS(GreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ | 523 TFS(GreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \ |
| 524 TFS(Equal, BUILTIN, kNoExtraICState, Compare) \ | 524 TFS(Equal, BUILTIN, kNoExtraICState, Compare) \ |
| 525 TFS(NotEqual, BUILTIN, kNoExtraICState, Compare) \ | 525 TFS(NotEqual, BUILTIN, kNoExtraICState, Compare) \ |
| 526 TFS(StrictEqual, BUILTIN, kNoExtraICState, Compare) \ | 526 TFS(StrictEqual, BUILTIN, kNoExtraICState, Compare) \ |
| 527 TFS(StrictNotEqual, BUILTIN, kNoExtraICState, Compare) \ | 527 TFS(StrictNotEqual, BUILTIN, kNoExtraICState, Compare) \ |
| 528 \ | 528 \ |
| 529 /* Object */ \ | 529 /* Object */ \ |
| 530 CPP(ObjectAssign) \ | 530 CPP(ObjectAssign) \ |
| 531 TFJ(ObjectCreate, 2) \ | 531 TFJ(ObjectCreate, 2) \ |
| 532 CPP(ObjectDefineGetter) \ | 532 CPP(ObjectDefineGetter) \ |
| 533 CPP(ObjectDefineProperties) \ | 533 CPP(ObjectDefineProperties) \ |
| 534 CPP(ObjectDefineProperty) \ | 534 CPP(ObjectDefineProperty) \ |
| 535 CPP(ObjectDefineSetter) \ | 535 CPP(ObjectDefineSetter) \ |
| 536 CPP(ObjectEntries) \ | 536 CPP(ObjectEntries) \ |
| 537 CPP(ObjectFreeze) \ | 537 CPP(ObjectFreeze) \ |
| 538 CPP(ObjectGetOwnPropertyDescriptor) \ | 538 CPP(ObjectGetOwnPropertyDescriptor) \ |
| 539 CPP(ObjectGetOwnPropertyDescriptors) \ | 539 CPP(ObjectGetOwnPropertyDescriptors) \ |
| 540 CPP(ObjectGetOwnPropertyNames) \ | 540 CPP(ObjectGetOwnPropertyNames) \ |
| 541 CPP(ObjectGetOwnPropertySymbols) \ | 541 CPP(ObjectGetOwnPropertySymbols) \ |
| 542 CPP(ObjectGetPrototypeOf) \ | 542 CPP(ObjectGetPrototypeOf) \ |
| 543 CPP(ObjectSetPrototypeOf) \ | 543 CPP(ObjectSetPrototypeOf) \ |
| 544 /* ES6 section 19.1.3.2 Object.prototype.hasOwnProperty */ \ | 544 /* ES6 section 19.1.3.2 Object.prototype.hasOwnProperty */ \ |
| 545 TFJ(ObjectHasOwnProperty, 1) \ | 545 TFJ(ObjectHasOwnProperty, 1) \ |
| 546 CPP(ObjectIs) \ | 546 CPP(ObjectIs) \ |
| 547 CPP(ObjectIsExtensible) \ | 547 CPP(ObjectIsExtensible) \ |
| 548 CPP(ObjectIsFrozen) \ | 548 CPP(ObjectIsFrozen) \ |
| 549 CPP(ObjectIsSealed) \ | 549 CPP(ObjectIsSealed) \ |
| 550 CPP(ObjectKeys) \ | 550 CPP(ObjectKeys) \ |
| 551 CPP(ObjectLookupGetter) \ | 551 CPP(ObjectLookupGetter) \ |
| 552 CPP(ObjectLookupSetter) \ | 552 CPP(ObjectLookupSetter) \ |
| 553 CPP(ObjectPreventExtensions) \ | 553 CPP(ObjectPreventExtensions) \ |
| 554 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ | 554 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ |
| 555 TFJ(ObjectProtoToString, 0) \ | 555 TFJ(ObjectProtoToString, 0) \ |
| 556 CPP(ObjectPrototypePropertyIsEnumerable) \ | 556 CPP(ObjectPrototypePropertyIsEnumerable) \ |
| 557 CPP(ObjectPrototypeGetProto) \ | 557 CPP(ObjectPrototypeGetProto) \ |
| 558 CPP(ObjectPrototypeSetProto) \ | 558 CPP(ObjectPrototypeSetProto) \ |
| 559 CPP(ObjectSeal) \ | 559 CPP(ObjectSeal) \ |
| 560 CPP(ObjectValues) \ | 560 CPP(ObjectValues) \ |
| 561 \ | 561 \ |
| 562 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \ | 562 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \ |
| 563 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \ | 563 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \ |
| 564 TFS(OrdinaryHasInstance, BUILTIN, kNoExtraICState, Compare) \ | 564 TFS(OrdinaryHasInstance, BUILTIN, kNoExtraICState, Compare) \ |
| 565 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \ | 565 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \ |
| 566 \ | 566 \ |
| 567 /* Promise */ \ | 567 /* Promise */ \ |
| 568 TFJ(PromiseConstructor, 1) \ | 568 TFJ(PromiseConstructor, 1) \ |
| 569 TFJ(PromiseInternalConstructor, 0) \ | 569 TFJ(PromiseInternalConstructor, 0) \ |
| 570 TFJ(IsPromise, 1) \ | 570 TFJ(IsPromise, 1) \ |
| 571 CPP(CreateResolvingFunctions) \ | 571 CPP(CreateResolvingFunctions) \ |
| 572 TFJ(PromiseResolveClosure, 1) \ | 572 TFJ(PromiseResolveClosure, 1) \ |
| 573 CPP(PromiseRejectClosure) \ | 573 CPP(PromiseRejectClosure) \ |
| 574 TFJ(PromiseThen, 2) \ | 574 TFJ(PromiseThen, 2) \ |
| 575 TFJ(PromiseCreateAndSet, 2) \ | 575 TFJ(PromiseCreateAndSet, 2) \ |
| 576 TFJ(PerformPromiseThen, 4) \ | 576 TFJ(PerformPromiseThen, 4) \ |
| 577 TFJ(ResolvePromise, 2) \ | 577 TFJ(ResolvePromise, 2) \ |
| 578 TFS(PromiseHandleReject, BUILTIN, kNoExtraICState, PromiseHandleReject) \ | 578 TFS(PromiseHandleReject, BUILTIN, kNoExtraICState, PromiseHandleReject) \ |
| 579 TFJ(PromiseHandle, 4) \ | 579 TFJ(PromiseHandle, 4) \ |
| 580 \ | 580 \ |
| 581 /* Proxy */ \ | 581 /* Proxy */ \ |
| 582 CPP(ProxyConstructor) \ | 582 CPP(ProxyConstructor) \ |
| 583 CPP(ProxyConstructor_ConstructStub) \ | 583 CPP(ProxyConstructor_ConstructStub) \ |
| 584 \ | 584 \ |
| 585 /* Reflect */ \ | 585 /* Reflect */ \ |
| 586 ASM(ReflectApply) \ | 586 ASM(ReflectApply) \ |
| 587 ASM(ReflectConstruct) \ | 587 ASM(ReflectConstruct) \ |
| 588 CPP(ReflectDefineProperty) \ | 588 CPP(ReflectDefineProperty) \ |
| 589 CPP(ReflectDeleteProperty) \ | 589 CPP(ReflectDeleteProperty) \ |
| 590 CPP(ReflectGet) \ | 590 CPP(ReflectGet) \ |
| 591 CPP(ReflectGetOwnPropertyDescriptor) \ | 591 CPP(ReflectGetOwnPropertyDescriptor) \ |
| 592 CPP(ReflectGetPrototypeOf) \ | 592 CPP(ReflectGetPrototypeOf) \ |
| 593 CPP(ReflectHas) \ | 593 CPP(ReflectHas) \ |
| 594 CPP(ReflectIsExtensible) \ | 594 CPP(ReflectIsExtensible) \ |
| 595 CPP(ReflectOwnKeys) \ | 595 CPP(ReflectOwnKeys) \ |
| 596 CPP(ReflectPreventExtensions) \ | 596 CPP(ReflectPreventExtensions) \ |
| 597 CPP(ReflectSet) \ | 597 CPP(ReflectSet) \ |
| 598 CPP(ReflectSetPrototypeOf) \ | 598 CPP(ReflectSetPrototypeOf) \ |
| 599 \ | 599 \ |
| 600 /* RegExp */ \ | 600 /* RegExp */ \ |
| 601 CPP(RegExpCapture1Getter) \ | 601 CPP(RegExpCapture1Getter) \ |
| 602 CPP(RegExpCapture2Getter) \ | 602 CPP(RegExpCapture2Getter) \ |
| 603 CPP(RegExpCapture3Getter) \ | 603 CPP(RegExpCapture3Getter) \ |
| 604 CPP(RegExpCapture4Getter) \ | 604 CPP(RegExpCapture4Getter) \ |
| 605 CPP(RegExpCapture5Getter) \ | 605 CPP(RegExpCapture5Getter) \ |
| 606 CPP(RegExpCapture6Getter) \ | 606 CPP(RegExpCapture6Getter) \ |
| 607 CPP(RegExpCapture7Getter) \ | 607 CPP(RegExpCapture7Getter) \ |
| 608 CPP(RegExpCapture8Getter) \ | 608 CPP(RegExpCapture8Getter) \ |
| 609 CPP(RegExpCapture9Getter) \ | 609 CPP(RegExpCapture9Getter) \ |
| 610 TFJ(RegExpConstructor, 2) \ | 610 TFJ(RegExpConstructor, 2) \ |
| 611 TFJ(RegExpInternalMatch, 2) \ | 611 TFJ(RegExpInternalMatch, 2) \ |
| 612 CPP(RegExpInputGetter) \ | 612 CPP(RegExpInputGetter) \ |
| 613 CPP(RegExpInputSetter) \ | 613 CPP(RegExpInputSetter) \ |
| 614 CPP(RegExpLastMatchGetter) \ | 614 CPP(RegExpLastMatchGetter) \ |
| 615 CPP(RegExpLastParenGetter) \ | 615 CPP(RegExpLastParenGetter) \ |
| 616 CPP(RegExpLeftContextGetter) \ | 616 CPP(RegExpLeftContextGetter) \ |
| 617 TFJ(RegExpPrototypeCompile, 2) \ | 617 TFJ(RegExpPrototypeCompile, 2) \ |
| 618 TFJ(RegExpPrototypeExec, 1) \ | 618 TFJ(RegExpPrototypeExec, 1) \ |
| 619 TFJ(RegExpPrototypeFlagsGetter, 0) \ | 619 TFJ(RegExpPrototypeFlagsGetter, 0) \ |
| 620 TFJ(RegExpPrototypeGlobalGetter, 0) \ | 620 TFJ(RegExpPrototypeGlobalGetter, 0) \ |
| 621 TFJ(RegExpPrototypeIgnoreCaseGetter, 0) \ | 621 TFJ(RegExpPrototypeIgnoreCaseGetter, 0) \ |
| 622 TFJ(RegExpPrototypeMatch, 1) \ | 622 TFJ(RegExpPrototypeMatch, 1) \ |
| 623 TFJ(RegExpPrototypeMultilineGetter, 0) \ | 623 TFJ(RegExpPrototypeMultilineGetter, 0) \ |
| 624 TFJ(RegExpPrototypeReplace, 2) \ | 624 TFJ(RegExpPrototypeReplace, 2) \ |
| 625 TFJ(RegExpPrototypeSearch, 1) \ | 625 TFJ(RegExpPrototypeSearch, 1) \ |
| 626 TFJ(RegExpPrototypeSourceGetter, 0) \ | 626 TFJ(RegExpPrototypeSourceGetter, 0) \ |
| 627 TFJ(RegExpPrototypeSpeciesGetter, 0) \ | 627 TFJ(RegExpPrototypeSpeciesGetter, 0) \ |
| 628 TFJ(RegExpPrototypeSplit, 2) \ | 628 TFJ(RegExpPrototypeSplit, 2) \ |
| 629 TFJ(RegExpPrototypeStickyGetter, 0) \ | 629 TFJ(RegExpPrototypeStickyGetter, 0) \ |
| 630 TFJ(RegExpPrototypeTest, 1) \ | 630 TFJ(RegExpPrototypeTest, 1) \ |
| 631 CPP(RegExpPrototypeToString) \ | 631 CPP(RegExpPrototypeToString) \ |
| 632 TFJ(RegExpPrototypeUnicodeGetter, 0) \ | 632 TFJ(RegExpPrototypeUnicodeGetter, 0) \ |
| 633 CPP(RegExpRightContextGetter) \ | 633 CPP(RegExpRightContextGetter) \ |
| 634 \ | 634 \ |
| 635 /* SharedArrayBuffer */ \ | 635 /* SharedArrayBuffer */ \ |
| 636 CPP(SharedArrayBufferPrototypeGetByteLength) \ | 636 CPP(SharedArrayBufferPrototypeGetByteLength) \ |
| 637 TFJ(AtomicsLoad, 2) \ | 637 TFJ(AtomicsLoad, 2) \ |
| 638 TFJ(AtomicsStore, 3) \ | 638 TFJ(AtomicsStore, 3) \ |
| 639 \ | 639 \ |
| 640 /* String */ \ | 640 /* String */ \ |
| 641 ASM(StringConstructor) \ | 641 ASM(StringConstructor) \ |
| 642 ASM(StringConstructor_ConstructStub) \ | 642 ASM(StringConstructor_ConstructStub) \ |
| 643 CPP(StringFromCodePoint) \ | 643 CPP(StringFromCodePoint) \ |
| 644 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \ | 644 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \ |
| 645 TFJ(StringFromCharCode, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ | 645 TFJ(StringFromCharCode, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ |
| 646 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \ | 646 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \ |
| 647 TFJ(StringPrototypeCharAt, 1) \ | 647 TFJ(StringPrototypeCharAt, 1) \ |
| 648 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \ | 648 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \ |
| 649 TFJ(StringPrototypeCharCodeAt, 1) \ | 649 TFJ(StringPrototypeCharCodeAt, 1) \ |
| 650 /* ES6 section 21.1.3.6 */ \ | 650 /* ES6 section 21.1.3.6 */ \ |
| 651 /* String.prototype.endsWith ( searchString [ , endPosition ] ) */ \ | 651 /* String.prototype.endsWith ( searchString [ , endPosition ] ) */ \ |
| 652 CPP(StringPrototypeEndsWith) \ | 652 CPP(StringPrototypeEndsWith) \ |
| 653 /* ES6 section 21.1.3.7 */ \ | 653 /* ES6 section 21.1.3.7 */ \ |
| 654 /* String.prototype.includes ( searchString [ , position ] ) */ \ | 654 /* String.prototype.includes ( searchString [ , position ] ) */ \ |
| 655 CPP(StringPrototypeIncludes) \ | 655 CPP(StringPrototypeIncludes) \ |
| 656 /* ES6 section 21.1.3.8 */ \ | 656 /* ES6 section #sec-string.prototype.indexof */ \ |
| 657 /* String.prototype.indexOf ( searchString [ , position ] ) */ \ | 657 /* String.prototype.indexOf ( searchString [ , position ] ) */ \ |
| 658 CPP(StringPrototypeIndexOf) \ | 658 TFJ(StringPrototypeIndexOf, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ |
| 659 /* ES6 section 21.1.3.9 */ \ | 659 /* ES6 section 21.1.3.9 */ \ |
| 660 /* String.prototype.lastIndexOf ( searchString [ , position ] ) */ \ | 660 /* String.prototype.lastIndexOf ( searchString [ , position ] ) */ \ |
| 661 CPP(StringPrototypeLastIndexOf) \ | 661 CPP(StringPrototypeLastIndexOf) \ |
| 662 /* ES6 section 21.1.3.10 String.prototype.localeCompare ( that ) */ \ | 662 /* ES6 section 21.1.3.10 String.prototype.localeCompare ( that ) */ \ |
| 663 CPP(StringPrototypeLocaleCompare) \ | 663 CPP(StringPrototypeLocaleCompare) \ |
| 664 /* ES6 section 21.1.3.12 String.prototype.normalize ( [form] ) */ \ | 664 /* ES6 section 21.1.3.12 String.prototype.normalize ( [form] ) */ \ |
| 665 CPP(StringPrototypeNormalize) \ | 665 CPP(StringPrototypeNormalize) \ |
| 666 /* ES6 section B.2.3.1 String.prototype.substr ( start, length ) */ \ | 666 /* ES6 section B.2.3.1 String.prototype.substr ( start, length ) */ \ |
| 667 TFJ(StringPrototypeSubstr, 2) \ | 667 TFJ(StringPrototypeSubstr, 2) \ |
| 668 /* ES6 section 21.1.3.19 String.prototype.substring ( start, end ) */ \ | 668 /* ES6 section 21.1.3.19 String.prototype.substring ( start, end ) */ \ |
| 669 TFJ(StringPrototypeSubstring, 2) \ | 669 TFJ(StringPrototypeSubstring, 2) \ |
| 670 /* ES6 section 21.1.3.20 */ \ | 670 /* ES6 section 21.1.3.20 */ \ |
| 671 /* String.prototype.startsWith ( searchString [ , position ] ) */ \ | 671 /* String.prototype.startsWith ( searchString [ , position ] ) */ \ |
| 672 CPP(StringPrototypeStartsWith) \ | 672 CPP(StringPrototypeStartsWith) \ |
| 673 /* ES6 section 21.1.3.25 String.prototype.toString () */ \ | 673 /* ES6 section 21.1.3.25 String.prototype.toString () */ \ |
| 674 TFJ(StringPrototypeToString, 0) \ | 674 TFJ(StringPrototypeToString, 0) \ |
| 675 CPP(StringPrototypeTrim) \ | 675 CPP(StringPrototypeTrim) \ |
| 676 CPP(StringPrototypeTrimLeft) \ | 676 CPP(StringPrototypeTrimLeft) \ |
| 677 CPP(StringPrototypeTrimRight) \ | 677 CPP(StringPrototypeTrimRight) \ |
| 678 /* ES6 section 21.1.3.28 String.prototype.valueOf () */ \ | 678 /* ES6 section 21.1.3.28 String.prototype.valueOf () */ \ |
| 679 TFJ(StringPrototypeValueOf, 0) \ | 679 TFJ(StringPrototypeValueOf, 0) \ |
| 680 /* ES6 #sec-string.prototype-@@iterator */ \ | 680 /* ES6 #sec-string.prototype-@@iterator */ \ |
| 681 TFJ(StringPrototypeIterator, 0) \ | 681 TFJ(StringPrototypeIterator, 0) \ |
| 682 \ | 682 \ |
| 683 /* StringIterator */ \ | 683 /* StringIterator */ \ |
| 684 TFJ(StringIteratorPrototypeNext, 0) \ | 684 TFJ(StringIteratorPrototypeNext, 0) \ |
| 685 \ | 685 \ |
| 686 /* Symbol */ \ | 686 /* Symbol */ \ |
| 687 CPP(SymbolConstructor) \ | 687 CPP(SymbolConstructor) \ |
| 688 CPP(SymbolConstructor_ConstructStub) \ | 688 CPP(SymbolConstructor_ConstructStub) \ |
| 689 /* ES6 section 19.4.2.1 Symbol.for */ \ | 689 /* ES6 section 19.4.2.1 Symbol.for */ \ |
| 690 CPP(SymbolFor) \ | 690 CPP(SymbolFor) \ |
| 691 /* ES6 section 19.4.2.5 Symbol.keyFor */ \ | 691 /* ES6 section 19.4.2.5 Symbol.keyFor */ \ |
| 692 CPP(SymbolKeyFor) \ | 692 CPP(SymbolKeyFor) \ |
| 693 /* ES6 section 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint ) */ \ | 693 /* ES6 section 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint ) */ \ |
| 694 TFJ(SymbolPrototypeToPrimitive, 1) \ | 694 TFJ(SymbolPrototypeToPrimitive, 1) \ |
| 695 /* ES6 section 19.4.3.2 Symbol.prototype.toString ( ) */ \ | 695 /* ES6 section 19.4.3.2 Symbol.prototype.toString ( ) */ \ |
| 696 TFJ(SymbolPrototypeToString, 0) \ | 696 TFJ(SymbolPrototypeToString, 0) \ |
| 697 /* ES6 section 19.4.3.3 Symbol.prototype.valueOf ( ) */ \ | 697 /* ES6 section 19.4.3.3 Symbol.prototype.valueOf ( ) */ \ |
| 698 TFJ(SymbolPrototypeValueOf, 0) \ | 698 TFJ(SymbolPrototypeValueOf, 0) \ |
| 699 \ | 699 \ |
| 700 /* TypedArray */ \ | 700 /* TypedArray */ \ |
| 701 CPP(TypedArrayPrototypeBuffer) \ | 701 CPP(TypedArrayPrototypeBuffer) \ |
| 702 /* ES6 section 22.2.3.2 get %TypedArray%.prototype.byteLength */ \ | 702 /* ES6 section 22.2.3.2 get %TypedArray%.prototype.byteLength */ \ |
| 703 TFJ(TypedArrayPrototypeByteLength, 0) \ | 703 TFJ(TypedArrayPrototypeByteLength, 0) \ |
| 704 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \ | 704 /* ES6 section 22.2.3.3 get %TypedArray%.prototype.byteOffset */ \ |
| 705 TFJ(TypedArrayPrototypeByteOffset, 0) \ | 705 TFJ(TypedArrayPrototypeByteOffset, 0) \ |
| 706 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \ | 706 /* ES6 section 22.2.3.18 get %TypedArray%.prototype.length */ \ |
| 707 TFJ(TypedArrayPrototypeLength, 0) \ | 707 TFJ(TypedArrayPrototypeLength, 0) \ |
| 708 /* ES6 #sec-%typedarray%.prototype.entries */ \ | 708 /* ES6 #sec-%typedarray%.prototype.entries */ \ |
| 709 TFJ(TypedArrayPrototypeEntries, 0) \ | 709 TFJ(TypedArrayPrototypeEntries, 0) \ |
| 710 /* ES6 #sec-%typedarray%.prototype.keys */ \ | 710 /* ES6 #sec-%typedarray%.prototype.keys */ \ |
| 711 TFJ(TypedArrayPrototypeKeys, 0) \ | 711 TFJ(TypedArrayPrototypeKeys, 0) \ |
| 712 /* ES6 #sec-%typedarray%.prototype.values */ \ | 712 /* ES6 #sec-%typedarray%.prototype.values */ \ |
| 713 TFJ(TypedArrayPrototypeValues, 0) \ | 713 TFJ(TypedArrayPrototypeValues, 0) |
| 714 | 714 |
| 715 #define IGNORE_BUILTIN(...) | 715 #define IGNORE_BUILTIN(...) |
| 716 | 716 |
| 717 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) | 717 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) |
| 718 | 718 |
| 719 #define BUILTIN_LIST_C(V) \ | 719 #define BUILTIN_LIST_C(V) \ |
| 720 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ | 720 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ |
| 721 IGNORE_BUILTIN, IGNORE_BUILTIN) | 721 IGNORE_BUILTIN, IGNORE_BUILTIN) |
| 722 | 722 |
| 723 #define BUILTIN_LIST_A(V) \ | 723 #define BUILTIN_LIST_A(V) \ |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 | 853 |
| 854 friend class Isolate; | 854 friend class Isolate; |
| 855 | 855 |
| 856 DISALLOW_COPY_AND_ASSIGN(Builtins); | 856 DISALLOW_COPY_AND_ASSIGN(Builtins); |
| 857 }; | 857 }; |
| 858 | 858 |
| 859 } // namespace internal | 859 } // namespace internal |
| 860 } // namespace v8 | 860 } // namespace v8 |
| 861 | 861 |
| 862 #endif // V8_BUILTINS_BUILTINS_H_ | 862 #endif // V8_BUILTINS_BUILTINS_H_ |
| OLD | NEW |