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