1 /* 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef ECMASCRIPT_RUNTIME_CALL_ID_H 17 #define ECMASCRIPT_RUNTIME_CALL_ID_H 18 19 #include "ecmascript/base/config.h" 20 #include "ecmascript/dfx/vmstat/runtime_stat.h" 21 #include "ecmascript/ecma_context.h" 22 23 namespace panda::ecmascript { 24 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 25 #define INTERPRETER_CALLER_LIST(V) \ 26 V(RunInternal) \ 27 V(Ldnan) \ 28 V(Ldinfinity) \ 29 V(Ldundefined) \ 30 V(Ldboolean) \ 31 V(Ldnumber) \ 32 V(Ldstring) \ 33 V(Ldnull) \ 34 V(Ldsymbol) \ 35 V(Ldfunction) \ 36 V(Ldglobal) \ 37 V(Ldtrue) \ 38 V(Ldfalse) \ 39 V(Tonumber) \ 40 V(Toboolean) \ 41 V(Add2) \ 42 V(Sub2) \ 43 V(Mul2) \ 44 V(Div2) \ 45 V(Mod2) \ 46 V(Eq) \ 47 V(NotEq) \ 48 V(Less) \ 49 V(LessEq) \ 50 V(Greater) \ 51 V(GreaterEq) \ 52 V(StrictNotEq) \ 53 V(StrictEq) \ 54 V(Shl2) \ 55 V(Shr2) \ 56 V(Ashr2) \ 57 V(And2) \ 58 V(Or2) \ 59 V(Xor2) \ 60 V(Neg) \ 61 V(Not) \ 62 V(Inc) \ 63 V(Dec) \ 64 V(Exp) \ 65 V(Throw) \ 66 V(LdObjByIndex) \ 67 V(StObjByIndex) \ 68 V(LdObjByName) \ 69 V(StObjByName) \ 70 V(LdObjByValue) \ 71 V(StObjByValue) \ 72 V(StOwnByName) \ 73 V(StOwnById) \ 74 V(StOwnByValue) \ 75 V(Trygetobjprop) \ 76 V(Delobjprop) \ 77 V(Defineglobalvar) \ 78 V(Definelocalvar) \ 79 V(Definefuncexpr) \ 80 V(DefineFunc) \ 81 V(SetPatchModule) \ 82 V(NewobjRange) \ 83 V(Refeq) \ 84 V(Typeof) \ 85 V(Ldnewobjrange) \ 86 V(IsIn) \ 87 V(Instanceof) \ 88 V(InstanceofByHandler) \ 89 V(NewObjApply) \ 90 V(CallArg0) \ 91 V(CallArg1) \ 92 V(CallArg2) \ 93 V(CallArg3) \ 94 V(CallThisRange) \ 95 V(CallRange) \ 96 V(CallSpread) \ 97 V(Newlexenv) \ 98 V(NewlexenvwithName) \ 99 V(NewSendableEnv) \ 100 V(Stlexvar) \ 101 V(Ldlexvar) \ 102 V(Ldlexenv) \ 103 V(GetPropIterator) \ 104 V(GetPropIteratorSlowpath) \ 105 V(PrimitiveStringCreate) \ 106 V(CreateIterResultObj) \ 107 V(SuspendGenerator) \ 108 V(ResumeGenerator) \ 109 V(GetResumeMode) \ 110 V(CreateGeneratorObj) \ 111 V(DefineGetterSetterByValue) \ 112 V(AsyncFunctionEnter) \ 113 V(AsyncFunctionAwaitUncaught) \ 114 V(AsyncFunctionResolveOrReject ) \ 115 V(ThrowUndefined) \ 116 V(ThrowConstAssignment) \ 117 V(ThrowUndefinedIfHole) \ 118 V(Copyrestargs) \ 119 V(Trystobjprop) \ 120 V(GetTemplateObject) \ 121 V(CreateStringIterator) \ 122 V(NewJSArrayIterator) \ 123 V(NewJSTypedArrayIterator) \ 124 V(MapIteratorNext) \ 125 V(SetIteratorNext) \ 126 V(StringIteratorNext) \ 127 V(ArrayIteratorNext) \ 128 V(GetIterator) \ 129 V(GetAsyncIterator) \ 130 V(ThrowIfNotObject) \ 131 V(ThrowThrowNotExists) \ 132 V(CreateObjectWithExcludedKeys ) \ 133 V(ThrowPatternNonCoercible) \ 134 V(IterNext) \ 135 V(CloseIterator) \ 136 V(StArraySpread) \ 137 V(GetCallSpreadArgs) \ 138 V(TryLoadICByName) \ 139 V(LoadICByName) \ 140 V(GetPropertyByName) \ 141 V(TryLoadICByValue) \ 142 V(LoadICByValue) \ 143 V(TryStoreICByName) \ 144 V(StoreOwnICByValue) \ 145 V(StoreICByName) \ 146 V(TryStoreICByValue) \ 147 V(StoreICByValue) \ 148 V(NotifyInlineCache) \ 149 V(LoadGlobalICByName) \ 150 V(StoreGlobalICByName) \ 151 V(StoreICWithHandler) \ 152 V(StorePrototype) \ 153 V(StoreWithTransition) \ 154 V(StoreTransWithProto) \ 155 V(StoreWithAOT) \ 156 V(StoreField) \ 157 V(StoreGlobal) \ 158 V(LoadPrototype) \ 159 V(LoadICWithHandler) \ 160 V(StoreElement) \ 161 V(CallGetter) \ 162 V(CallSetter) \ 163 V(AddPropertyByName) \ 164 V(AddPropertyByIndex) \ 165 V(GetPropertyByIndex) \ 166 V(GetPropertyByValue) \ 167 V(SetPropertyByIndex) \ 168 V(SetPropertyByValue) \ 169 V(FastTypeOf) \ 170 V(FastSetPropertyByIndex) \ 171 V(FastSetPropertyByValue) \ 172 V(FastGetPropertyByName) \ 173 V(FastGetPropertyByValue) \ 174 V(FastGetPropertyByIndex) \ 175 V(NewLexicalEnv) \ 176 V(ExecuteNative) \ 177 V(Execute) \ 178 V(AsmExecute) \ 179 V(ExecuteAot) \ 180 V(ToJSTaggedValueWithInt32) \ 181 V(ToJSTaggedValueWithUint32) \ 182 V(ThrowIfSuperNotCorrectCall) \ 183 V(CreateEmptyArray) \ 184 V(CreateEmptyObject) \ 185 V(CreateObjectWithBuffer) \ 186 V(CreateObjectHavingMethod) \ 187 V(SetObjectWithProto) \ 188 V(getmodulenamespace) \ 189 V(StModuleVar) \ 190 V(LdModuleVar) \ 191 V(CreateRegExpWithLiteral) \ 192 V(CreateArrayWithBuffer) \ 193 V(GetNextPropName) \ 194 V(GetNextPropNameSlowpath) \ 195 V(CopyDataProperties) \ 196 V(GetUnmapedArgs) \ 197 V(TryStGlobalByName) \ 198 V(LdGlobalVar) \ 199 V(StGlobalVar) \ 200 V(TryUpdateGlobalRecord) \ 201 V(LdGlobalRecord) \ 202 V(StGlobalRecord) \ 203 V(ThrowReferenceError) \ 204 V(ThrowTypeError) \ 205 V(MismatchError) \ 206 V(ThrowSyntaxError) \ 207 V(NewClassFunc) \ 208 V(DefineClass) \ 209 V(SuperCall) \ 210 V(SuperCallSpread) \ 211 V(DefineMethod) \ 212 V(LdSuperByValue) \ 213 V(StSuperByValue) \ 214 V(ThrowDeleteSuperProperty) \ 215 V(ModWithTSType) \ 216 V(MulWithTSType) \ 217 V(SubWithTSType) \ 218 V(DivWithTSType) \ 219 V(AddWithTSType) \ 220 V(GetBitOPDate) \ 221 V(ShlWithTSType) \ 222 V(ShrWithTSType) \ 223 V(AshrWithTSType) \ 224 V(AndWithTSType) \ 225 V(OrWithTSType) \ 226 V(XorWithTSType) \ 227 V(EqualWithIC) \ 228 V(NotEqualWithIC) \ 229 V(Compare) \ 230 V(LessWithIC) \ 231 V(LessEqWithIC) \ 232 V(GreaterWithIC) \ 233 V(SetPropertyByName) \ 234 V(GreaterEqWithIC) \ 235 V(LdBigInt) \ 236 V(Tonumeric) \ 237 V(CreateAsyncGeneratorObj) \ 238 V(AsyncGeneratorResolve) \ 239 V(GetSuperConstructor) \ 240 V(DynamicImport) \ 241 V(LdPatchVar) \ 242 V(StPatchVar) \ 243 V(AsyncGeneratorReject) \ 244 V(LdPrivateProperty) \ 245 V(StPrivateProperty) \ 246 V(TestIn) \ 247 V(NotifyConcurrentResult) \ 248 V(DefineField) \ 249 V(ToPropertyKey) \ 250 V(CreatePrivateProperty) \ 251 V(DefinePrivateProperty) \ 252 V(CreateSharedClass) \ 253 V(LdSendableClass) \ 254 V(UpdateAOTHClass) \ 255 V(SetGeneratorState) 256 257 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 258 #define BUILTINS_API_LIST(V) \ 259 V(Array, Constructor) \ 260 V(Array, From) \ 261 V(Array, Of) \ 262 V(Array, IsArray) \ 263 V(Array, Entries) \ 264 V(Array, Species) \ 265 V(Array, Concat) \ 266 V(Array, CopyWithin) \ 267 V(Array, Every) \ 268 V(Array, Fill) \ 269 V(Array, Filter) \ 270 V(Array, Find) \ 271 V(Array, FindIndex) \ 272 V(Array, FindLast) \ 273 V(Array, FindLastIndex) \ 274 V(Array, ForEach) \ 275 V(Array, IndexOf) \ 276 V(Array, Join) \ 277 V(Array, Keys) \ 278 V(Array, LastIndexOf) \ 279 V(Array, Map) \ 280 V(Array, Pop) \ 281 V(Array, Push) \ 282 V(Array, Reduce) \ 283 V(Array, ReduceRight) \ 284 V(Array, Reverse) \ 285 V(Array, Shift) \ 286 V(Array, Slice) \ 287 V(Array, Some) \ 288 V(Array, Sort) \ 289 V(Array, Splice) \ 290 V(Array, ToLocaleString) \ 291 V(Array, ToString) \ 292 V(Array, Unscopables) \ 293 V(Array, Unshift) \ 294 V(Array, Values) \ 295 V(Array, Includes) \ 296 V(Array, Flat) \ 297 V(Array, FlatMap) \ 298 V(Array, At) \ 299 V(Array, ToReversed) \ 300 V(Array, With) \ 301 V(Array, ToSorted) \ 302 V(Array, ToSpliced) \ 303 V(SharedArray, Constructor) \ 304 V(SharedArray, From) \ 305 V(SharedArray, Create) \ 306 V(SharedArray, IsArray) \ 307 V(SharedArray, Entries) \ 308 V(SharedArray, Species) \ 309 V(SharedArray, Concat) \ 310 V(SharedArray, Fill) \ 311 V(SharedArray, Filter) \ 312 V(SharedArray, Find) \ 313 V(SharedArray, FindIndex) \ 314 V(SharedArray, ForEach) \ 315 V(SharedArray, IndexOf) \ 316 V(SharedArray, Join) \ 317 V(SharedArray, Keys) \ 318 V(SharedArray, Map) \ 319 V(SharedArray, Pop) \ 320 V(SharedArray, Push) \ 321 V(SharedArray, Reduce) \ 322 V(SharedArray, Shift) \ 323 V(SharedArray, Slice) \ 324 V(SharedArray, Sort) \ 325 V(SharedArray, Splice) \ 326 V(SharedArray, ToString) \ 327 V(SharedArray, Unscopables) \ 328 V(SharedArray, Unshift) \ 329 V(SharedArray, Values) \ 330 V(SharedArray, Includes) \ 331 V(SharedArray, Flat) \ 332 V(SharedArray, FlatMap) \ 333 V(SharedArray, At) \ 334 V(SharedArray, With) \ 335 V(SharedArray, ShrinkTo) \ 336 V(SharedArray, ExtendTo) \ 337 V(SharedArray, Every) \ 338 V(SharedArray, Some) \ 339 V(SharedArray, LastIndexOf) \ 340 V(ArrayBuffer, Constructor) \ 341 V(ArrayBuffer, Slice) \ 342 V(ArrayBuffer, Species) \ 343 V(ArrayBuffer, GetByteLength) \ 344 V(ArrayBuffer, GetValueFromBuffer) \ 345 V(ArrayBuffer, SetValueInBuffer) \ 346 V(ArrayBuffer, CloneArrayBuffer) \ 347 V(ArrayBuffer, AllocateArrayBuffer) \ 348 V(ArrayBuffer, IsView) \ 349 V(SharedArrayBuffer, Constructor) \ 350 V(SharedArrayBuffer, Slice) \ 351 V(SharedArrayBuffer, AllocateSharedArrayBuffer) \ 352 V(SharedArrayBuffer, IsSharedArrayBuffer) \ 353 V(SharedArrayBuffer, IsView) \ 354 V(SharedArrayBuffer, Species) \ 355 V(SharedArrayBuffer, GetByteLength) \ 356 V(SendableArrayBuffer, Constructor) \ 357 V(SendableArrayBuffer, Slice) \ 358 V(SendableArrayBuffer, Species) \ 359 V(SendableArrayBuffer, GetByteLength) \ 360 V(SendableArrayBuffer, GetValueFromBuffer) \ 361 V(SendableArrayBuffer, SetValueInBuffer) \ 362 V(SendableArrayBuffer, CloneArrayBuffer) \ 363 V(SendableArrayBuffer, AllocateSendableArrayBuffer) \ 364 V(SendableArrayBuffer, IsView) \ 365 V(AsyncFromSyncIterator, Next) \ 366 V(AsyncFromSyncIterator, Throw) \ 367 V(AsyncFromSyncIterator, Return) \ 368 V(AsyncFunction, Constructor) \ 369 V(SharedAsyncFunction, Constructor) \ 370 V(Boolean, BooleanPrototypeToString) \ 371 V(Boolean, BooleanPrototypeValueOf) \ 372 V(Boolean, Constructor) \ 373 V(Boolean, ThisBooleanValue) \ 374 V(CjsExports, CjsExportsConstructor) \ 375 V(CjsModule, CjsModuleConstructor) \ 376 V(CjsModule, Compiler) \ 377 V(CjsModule, Load) \ 378 V(CjsModule, ResolveFilename) \ 379 V(CjsModule, Require) \ 380 V(CjsModule, GetExportsForCircularRequire) \ 381 V(CjsModule, UpdateChildren) \ 382 V(CjsRequire, CjsRequireConstructor) \ 383 V(CjsRequire, Main) \ 384 V(CjsRequire, Resolve) \ 385 V(Collator, CollatorConstructor) \ 386 V(Collator, SupportedLocalesOf) \ 387 V(Collator, Compare) \ 388 V(Collator, AnonymousCollator) \ 389 V(Collator, ResolvedOptions) \ 390 V(DataView, Constructor) \ 391 V(DataView, GetBuffer) \ 392 V(DataView, GetByteLength) \ 393 V(DataView, GetOffset) \ 394 V(DataView, GetViewValue) \ 395 V(DataView, SetViewValue) \ 396 V(DataView, GetFloat32) \ 397 V(DataView, GetFloat64) \ 398 V(DataView, GetInt8) \ 399 V(DataView, GetInt16) \ 400 V(DataView, GetInt32) \ 401 V(DataView, GetUint8) \ 402 V(DataView, GetUint16) \ 403 V(DataView, GetUint32) \ 404 V(DataView, GetBigInt64) \ 405 V(DataView, GetBigUint64) \ 406 V(DataView, SetFloat32) \ 407 V(DataView, SetFloat64) \ 408 V(DataView, SetInt8) \ 409 V(DataView, SetInt16) \ 410 V(DataView, SetInt32) \ 411 V(DataView, SetUint8) \ 412 V(DataView, SetUint16) \ 413 V(DataView, SetUint32) \ 414 V(DataView, SetBigInt64) \ 415 V(DataView, SetBigUint64) \ 416 V(DataView, GetTypedValue) \ 417 V(DataView, SetTypedValue) \ 418 V(Date, Constructor) \ 419 V(Date, Now) \ 420 V(Date, UTC) \ 421 V(Date, Parse) \ 422 V(Date, GetDateField) \ 423 V(Date, GetTime) \ 424 V(Date, SetTime) \ 425 V(Date, ToJSON) \ 426 V(Date, ValueOf) \ 427 V(Date, ToPrimitive) \ 428 V(Date, ToLocaleString) \ 429 V(Date, ToLocaleDateString) \ 430 V(Date, ToLocaleTimeString) \ 431 V(DateTimeFormat, Constructor) \ 432 V(DateTimeFormat, SupportedLocalesOf) \ 433 V(DateTimeFormat, Format) \ 434 V(DateTimeFormat, AnonymousDateTimeFormat) \ 435 V(DateTimeFormat, FormatToParts) \ 436 V(DateTimeFormat, ResolvedOptions) \ 437 V(DateTimeFormat, FormatRange) \ 438 V(DateTimeFormat, FormatRangeToParts) \ 439 V(DisplayNames, Constructor) \ 440 V(DisplayNames, SupportedLocalesOf) \ 441 V(DisplayNames, Of) \ 442 V(DisplayNames, ResolvedOptions) \ 443 V(Segmenter, Constructor) \ 444 V(Segmenter, SupportedLocalesOf) \ 445 V(Segmenter, ResolvedOptions) \ 446 V(Segmenter, Segment) \ 447 V(Segments, Containing) \ 448 V(Segments, GetSegmentIterator) \ 449 V(SegmentIterator, Next) \ 450 V(Error, ErrorConstructor) \ 451 V(Error, ErrorToString) \ 452 V(Error, RangeErrorConstructor) \ 453 V(Error, RangeErrorToString) \ 454 V(Error, ReferenceErrorConstructor) \ 455 V(Error, ReferenceErrorToString) \ 456 V(Error, TypeErrorConstructor) \ 457 V(Error, TypeErrorToString) \ 458 V(Error, ThrowTypeError) \ 459 V(Error, URIErrorConstructor) \ 460 V(Error, URIErrorToString) \ 461 V(Error, SyntaxErrorConstructor) \ 462 V(Error, SyntaxErrorToString) \ 463 V(Error, EvalErrorConstructor) \ 464 V(Error, EvalErrorToString) \ 465 V(Error, AggregateErrorConstructor) \ 466 V(Error, AggregateErrorToString) \ 467 V(Error, OOMErrorConstructor) \ 468 V(Error, OOMErrorToString) \ 469 V(Error, TerminationErrorConstructor) \ 470 V(Error, TerminationErrorToString) \ 471 V(Function, Constructor) \ 472 V(Function, PrototypeApply) \ 473 V(Function, PrototypeBind) \ 474 V(Function, PrototypeCall) \ 475 V(Function, PrototypeToString) \ 476 V(Function, PrototypeHasInstance) \ 477 V(Function, PrototypeInvokeSelf) \ 478 V(Generator, Constructor) \ 479 V(Generator, PrototypeNext) \ 480 V(Generator, PrototypeReturn) \ 481 V(Generator, PrototypeThrow) \ 482 V(Global, IsFinite) \ 483 V(Global, NotSupportEval) \ 484 V(Global, Encode) \ 485 V(Global, IsNaN) \ 486 V(Global, PrintEntryPoint) \ 487 V(Global, NewobjRange) \ 488 V(Global, Decode) \ 489 V(Global, PrintString) \ 490 V(Global, StartRuntimeStat) \ 491 V(Global, StopRuntimeStat) \ 492 V(Global, PrintOptStat) \ 493 V(Global, PrintFunctionCallStat) \ 494 V(Global, CallJsBoundFunction) \ 495 V(Global, CallJsProxy) \ 496 V(Global, DecodeURI) \ 497 V(Global, EncodeURI) \ 498 V(Global, DecodeURIComponent) \ 499 V(Global, EncodeURIComponent) \ 500 V(Global, Escape) \ 501 V(Global, Unescape) \ 502 V(Global, GetCurrentModuleName) \ 503 V(Global, GetCurrentBundleName) \ 504 V(Intl, GetCanonicalLocales) \ 505 V(Iterator, Constructor) \ 506 V(Iterator, Next) \ 507 V(Iterator, Throw) \ 508 V(Iterator, Return) \ 509 V(Iterator, GetObj) \ 510 V(Locale, Constructor) \ 511 V(Locale, Maximize) \ 512 V(Locale, Minimize) \ 513 V(Locale, ToString) \ 514 V(Locale, GetBaseName) \ 515 V(Locale, GetCalendar) \ 516 V(Locale, GetCaseFirst) \ 517 V(Locale, GetCollation) \ 518 V(Locale, GetHourCycle) \ 519 V(Locale, GetNumeric) \ 520 V(Locale, GetNumberingSystem) \ 521 V(Locale, GetLanguage) \ 522 V(Locale, GetScript) \ 523 V(Locale, GetRegion) \ 524 V(AsyncIterator, Constructor) \ 525 V(AsyncIterator, Next) \ 526 V(AsyncIterator, Throw) \ 527 V(AsyncIterator, Return) \ 528 V(AsyncIterator, GetObj) \ 529 V(Json, Parse) \ 530 V(Json, Stringify) \ 531 V(Map, Constructor) \ 532 V(Map, Species) \ 533 V(Map, Clear) \ 534 V(Map, Delete) \ 535 V(Map, Entries) \ 536 V(Map, Get) \ 537 V(Map, Has) \ 538 V(Map, Keys) \ 539 V(Map, Set) \ 540 V(Map, GetSize) \ 541 V(Map, Values) \ 542 V(Map, ForEach) \ 543 V(Map, AddEntriesFromIterable) \ 544 V(SharedMap, Constructor) \ 545 V(SharedMap, Species) \ 546 V(SharedMap, Clear) \ 547 V(SharedMap, Delete) \ 548 V(SharedMap, Entries) \ 549 V(SharedMap, Get) \ 550 V(SharedMap, Has) \ 551 V(SharedMap, Keys) \ 552 V(SharedMap, Set) \ 553 V(SharedMap, GetSize) \ 554 V(SharedMap, Values) \ 555 V(SharedMap, ForEach) \ 556 V(SharedMap, AddEntriesFromIterable) \ 557 V(Math, Abs) \ 558 V(Math, Acos) \ 559 V(Math, Acosh) \ 560 V(Math, Asin) \ 561 V(Math, Asinh) \ 562 V(Math, Atan) \ 563 V(Math, Atanh) \ 564 V(Math, Atan2) \ 565 V(Math, Cbrt) \ 566 V(Math, Ceil) \ 567 V(Math, Clz32) \ 568 V(Math, Cos) \ 569 V(Math, Cosh) \ 570 V(Math, Exp) \ 571 V(Math, Expm1) \ 572 V(Math, Floor) \ 573 V(Math, Fround) \ 574 V(Math, Hypot) \ 575 V(Math, Imul) \ 576 V(Math, Log) \ 577 V(Math, Log1p) \ 578 V(Math, Log10) \ 579 V(Math, Log2) \ 580 V(Math, Max) \ 581 V(Math, Min) \ 582 V(Math, Pow) \ 583 V(Math, Random) \ 584 V(Math, Round) \ 585 V(Math, Sign) \ 586 V(Math, Sin) \ 587 V(Math, Sinh) \ 588 V(Math, Sqrt) \ 589 V(Math, Tan) \ 590 V(Math, Tanh) \ 591 V(Math, Trunc) \ 592 V(NumberFormat, Constructor) \ 593 V(NumberFormat, SupportedLocalesOf) \ 594 V(NumberFormat, Format) \ 595 V(NumberFormat, FormatToParts) \ 596 V(NumberFormat, ResolvedOptions) \ 597 V(Atomics, AtomicReadModifyWrite) \ 598 V(Atomics, AtomicReadModifyWriteCase) \ 599 V(Atomics, Add) \ 600 V(Atomics, And) \ 601 V(Atomics, DoWait) \ 602 V(Atomics, HandleWithUint8) \ 603 V(Atomics, HandleWithInt8) \ 604 V(Atomics, HandleWithUint16) \ 605 V(Atomics, HandleWithInt16) \ 606 V(Atomics, HandleWithUint32) \ 607 V(Atomics, HandleWithInt32) \ 608 V(Atomics, HandleWithBigInt64) \ 609 V(Atomics, HandleWithBigUint64) \ 610 V(Atomics, Or) \ 611 V(Atomics, Xor) \ 612 V(Atomics, Sub) \ 613 V(Atomics, Exchange) \ 614 V(Atomics, CompareExchange) \ 615 V(Atomics, Store) \ 616 V(Atomics, Load) \ 617 V(Atomics, IsLockFree) \ 618 V(Atomics, Wait) \ 619 V(Atomics, Notify) \ 620 V(Number, Constructor) \ 621 V(Number, IsFinite) \ 622 V(Number, IsInteger) \ 623 V(Number, IsNaN) \ 624 V(Number, IsSafeInteger) \ 625 V(Number, ParseFloat) \ 626 V(Number, ParseInt) \ 627 V(Number, ToExponential) \ 628 V(Number, ToFixed) \ 629 V(Number, ToLocaleString) \ 630 V(Number, ToPrecision) \ 631 V(Number, ToString) \ 632 V(Number, ValueOf) \ 633 V(Number, ThisNumberValue) \ 634 V(BigInt, Constructor) \ 635 V(BigInt, AsUintN) \ 636 V(BigInt, AsIntN) \ 637 V(BigInt, ToLocaleString) \ 638 V(BigInt, ToString) \ 639 V(BigInt, ValueOf) \ 640 V(BigInt, ThisBigIntValue) \ 641 V(AsyncGenerator, Constructor) \ 642 V(AsyncGenerator, PrototypeNext) \ 643 V(AsyncGenerator, PrototypeReturn) \ 644 V(AsyncGenerator, PrototypeThrow) \ 645 V(Object, Constructor) \ 646 V(Object, Assign) \ 647 V(Object, Create) \ 648 V(Object, CreateDataPropertyOnObjectFunctions) \ 649 V(Object, DefineProperties) \ 650 V(Object, DefineProperty) \ 651 V(Object, Freeze) \ 652 V(Object, FromEntries) \ 653 V(Object, GetOwnPropertyDescriptor) \ 654 V(Object, GetOwnPropertyDescriptors) \ 655 V(Object, GetOwnPropertyKeys) \ 656 V(Object, GetOwnPropertyNames) \ 657 V(Object, GetOwnPropertySymbols) \ 658 V(Object, GetPrototypeOf) \ 659 V(Object, Is) \ 660 V(Object, IsExtensible) \ 661 V(Object, IsFrozen) \ 662 V(Object, IsSealed) \ 663 V(Object, PropertyIsEnumerable) \ 664 V(Object, CreateRealm) \ 665 V(Object, Keys) \ 666 V(Object, Values) \ 667 V(Object, PreventExtensions) \ 668 V(Object, Seal) \ 669 V(Object, SetPrototypeOf) \ 670 V(Object, HasOwnProperty) \ 671 V(Object, HasOwn) \ 672 V(Object, IsPrototypeOf) \ 673 V(Object, ToLocaleString) \ 674 V(Object, GetBuiltinObjectToString) \ 675 V(Object, ToString) \ 676 V(Object, ValueOf) \ 677 V(Object, ProtoGetter) \ 678 V(Object, ProtoSetter) \ 679 V(PluralRules, Constructor) \ 680 V(PluralRules, SupportedLocalesOf) \ 681 V(PluralRules, Select) \ 682 V(PluralRules, ResolvedOptions) \ 683 V(PromiseHandler, Resolve) \ 684 V(PromiseHandler, Reject) \ 685 V(PromiseHandler, Executor) \ 686 V(PromiseHandler, ResolveElementFunction) \ 687 V(PromiseHandler, AllSettledResolveElementFunction) \ 688 V(PromiseHandler, AllSettledRejectElementFunction) \ 689 V(PromiseHandler, AnyRejectElementFunction) \ 690 V(PromiseHandler, AsyncAwaitRejected) \ 691 V(PromiseHandler, AsyncAwaitFulfilled) \ 692 V(PromiseHandler, valueThunkFunction) \ 693 V(PromiseHandler, throwerFunction) \ 694 V(PromiseHandler, ThenFinally) \ 695 V(PromiseHandler, CatchFinally) \ 696 V(PromiseHandler, PromiseResolve) \ 697 V(PromiseJob, Reaction) \ 698 V(PromiseJob, ResolveThenableJob) \ 699 V(PromiseJob, DynamicImportJob) \ 700 V(PromiseJob, CatchException) \ 701 V(Promise, Constructor) \ 702 V(Promise, All) \ 703 V(Promise, Race) \ 704 V(Promise, Reject) \ 705 V(Promise, Resolve) \ 706 V(Promise, GetSpecies) \ 707 V(Promise, GetPromiseResolve) \ 708 V(Promise, Catch) \ 709 V(Promise, Then) \ 710 V(Promise, PerformPromiseThen) \ 711 V(Promise, Finally) \ 712 V(Promise, Any) \ 713 V(Promise, PerformPromiseAny) \ 714 V(Promise, AllSettled) \ 715 V(Promise, PerformPromiseRace) \ 716 V(Promise, PerformPromiseAll) \ 717 V(Promise, PerformPromiseAllSettled) \ 718 V(Proxy, Constructor) \ 719 V(Proxy, Revocable) \ 720 V(Proxy, InvalidateProxyFunction) \ 721 V(Reflect, Apply) \ 722 V(Reflect, Constructor) \ 723 V(Reflect, DefineProperty) \ 724 V(Reflect, DeleteProperty) \ 725 V(Reflect, Get) \ 726 V(Reflect, GetOwnPropertyDescriptor) \ 727 V(Reflect, GetPrototypeOf) \ 728 V(Reflect, Has) \ 729 V(Reflect, OwnKeys) \ 730 V(Reflect, PreventExtensions) \ 731 V(Reflect, Set) \ 732 V(Reflect, SetPrototypeOf) \ 733 V(RegExp, Constructor) \ 734 V(RegExp, Exec) \ 735 V(RegExp, Test) \ 736 V(RegExp, ToString) \ 737 V(RegExp, GetFlags) \ 738 V(RegExp, GetSpecies) \ 739 V(RegExp, Match) \ 740 V(RegExp, MatchAll) \ 741 V(RegExp, Replace) \ 742 V(RegExp, Search) \ 743 V(RegExp, Split) \ 744 V(RegExp, Create) \ 745 V(RegExp, GetGlobal) \ 746 V(RegExp, GetHasIndices) \ 747 V(RegExp, GetIgnoreCase) \ 748 V(RegExp, GetMultiline) \ 749 V(RegExp, GetDotAll) \ 750 V(RegExp, GetSource) \ 751 V(RegExp, GetSticky) \ 752 V(RegExp, GetUnicode) \ 753 V(RegExp, RegExpReplaceFast) \ 754 V(RegExp, Matcher) \ 755 V(RegExp, GetFlagsInternal) \ 756 V(RegExp, RegExpBuiltinExec) \ 757 V(RegExp, RegExpExec) \ 758 V(RegExp, UpdateExpressionFlags) \ 759 V(RegExp, RegExpAlloc) \ 760 V(RegExp, GetDollarString) \ 761 V(RegExp, RegExpInitialize) \ 762 V(RegExp, EscapeRegExpPattern) \ 763 V(RegExp, FlagsBitsToString) \ 764 V(RelativeTimeFormat, Constructor) \ 765 V(RelativeTimeFormat, SupportedLocalesOf) \ 766 V(RelativeTimeFormat, Format) \ 767 V(RelativeTimeFormat, FormatToParts) \ 768 V(RelativeTimeFormat, ResolvedOptions) \ 769 V(Set, Constructor) \ 770 V(Set, Species) \ 771 V(Set, Add) \ 772 V(Set, Clear) \ 773 V(Set, Delete) \ 774 V(Set, Entries) \ 775 V(Set, Has) \ 776 V(Set, GetSize) \ 777 V(Set, Values) \ 778 V(Set, ForEach) \ 779 V(SharedSet, Constructor) \ 780 V(SharedSet, Species) \ 781 V(SharedSet, Add) \ 782 V(SharedSet, Clear) \ 783 V(SharedSet, Delete) \ 784 V(SharedSet, Entries) \ 785 V(SharedSet, Has) \ 786 V(SharedSet, GetSize) \ 787 V(SharedSet, Values) \ 788 V(SharedSet, ForEach) \ 789 V(StringIterator, Next) \ 790 V(String, Constructor) \ 791 V(String, FromCharCode) \ 792 V(String, FromCodePoint) \ 793 V(String, Raw) \ 794 V(String, GetSubstitution) \ 795 V(String, At) \ 796 V(String, CharAt) \ 797 V(String, CharCodeAt) \ 798 V(String, IsWellFormed) \ 799 V(String, ToWellFormed) \ 800 V(String, CodePointAt) \ 801 V(String, Concat) \ 802 V(String, EndsWith) \ 803 V(String, Includes) \ 804 V(String, IndexOf) \ 805 V(String, LastIndexOf) \ 806 V(String, LocaleCompare) \ 807 V(String, Match) \ 808 V(String, MatchAll) \ 809 V(String, Normalize) \ 810 V(String, PadStart) \ 811 V(String, PadEnd) \ 812 V(String, Repeat) \ 813 V(String, Replace) \ 814 V(String, ReplaceAll) \ 815 V(String, Search) \ 816 V(String, Slice) \ 817 V(String, Split) \ 818 V(String, StartsWith) \ 819 V(String, Substring) \ 820 V(String, ToLocaleLowerCase) \ 821 V(String, ToLocaleUpperCase) \ 822 V(String, ToLowerCase) \ 823 V(String, ToString) \ 824 V(String, ToUpperCase) \ 825 V(String, Trim) \ 826 V(String, TrimStart) \ 827 V(String, TrimEnd) \ 828 V(String, TrimLeft) \ 829 V(String, TrimRight) \ 830 V(String, GetStringIterator) \ 831 V(String, SubStr) \ 832 V(String, GetLength) \ 833 V(String, ThisStringValue) \ 834 V(String, Pad) \ 835 V(Symbol, Constructor) \ 836 V(Symbol, ToString) \ 837 V(Symbol, ValueOf) \ 838 V(Symbol, For) \ 839 V(Symbol, KeyFor) \ 840 V(Symbol, DescriptionGetter) \ 841 V(Symbol, ThisSymbolValue) \ 842 V(Symbol, ToPrimitive) \ 843 V(Symbol, SymbolDescriptiveString) \ 844 V(TypedArray, BaseConstructor) \ 845 V(TypedArray, Int8ArrayConstructor) \ 846 V(TypedArray, Uint8ArrayConstructor) \ 847 V(TypedArray, Uint8ClampedArrayConstructor) \ 848 V(TypedArray, Int16ArrayConstructor) \ 849 V(TypedArray, Uint16ArrayConstructor) \ 850 V(TypedArray, Int32ArrayConstructor) \ 851 V(TypedArray, Uint32ArrayConstructor) \ 852 V(TypedArray, Float32ArrayConstructor) \ 853 V(TypedArray, Float64ArrayConstructor) \ 854 V(TypedArray, BigInt64ArrayConstructor) \ 855 V(TypedArray, BigUint64ArrayConstructor) \ 856 V(TypedArray, Fill) \ 857 V(TypedArray, Find) \ 858 V(TypedArray, FindIndex) \ 859 V(TypedArray, FindLast) \ 860 V(TypedArray, FindLastIndex) \ 861 V(TypedArray, IndexOf) \ 862 V(TypedArray, LastIndexOf) \ 863 V(TypedArray, Reduce) \ 864 V(TypedArray, ReduceRight) \ 865 V(TypedArray, Reverse) \ 866 V(TypedArray, Some) \ 867 V(TypedArray, ToLocaleString) \ 868 V(TypedArray, ToString) \ 869 V(TypedArray, Includes) \ 870 V(TypedArray, From) \ 871 V(TypedArray, Of) \ 872 V(TypedArray, Species) \ 873 V(TypedArray, GetBuffer) \ 874 V(TypedArray, GetByteLength) \ 875 V(TypedArray, GetByteOffset) \ 876 V(TypedArray, CopyWithin) \ 877 V(TypedArray, Entries) \ 878 V(TypedArray, Every) \ 879 V(TypedArray, Filter) \ 880 V(TypedArray, ForEach) \ 881 V(TypedArray, Join) \ 882 V(TypedArray, Keys) \ 883 V(TypedArray, GetLength) \ 884 V(TypedArray, Map) \ 885 V(TypedArray, Set) \ 886 V(TypedArray, Slice) \ 887 V(TypedArray, Sort) \ 888 V(TypedArray, ToSorted) \ 889 V(TypedArray, Subarray) \ 890 V(TypedArray, Values) \ 891 V(TypedArray, With) \ 892 V(TypedArray, ToStringTag) \ 893 V(TypedArray, At) \ 894 V(TypedArray, ToReversed) \ 895 V(SharedTypedArray, BaseConstructor) \ 896 V(SharedTypedArray, Int8ArrayConstructor) \ 897 V(SharedTypedArray, Uint8ArrayConstructor) \ 898 V(SharedTypedArray, Uint8ClampedArrayConstructor) \ 899 V(SharedTypedArray, Int16ArrayConstructor) \ 900 V(SharedTypedArray, Uint16ArrayConstructor) \ 901 V(SharedTypedArray, Int32ArrayConstructor) \ 902 V(SharedTypedArray, Uint32ArrayConstructor) \ 903 V(SharedTypedArray, Float32ArrayConstructor) \ 904 V(SharedTypedArray, Float64ArrayConstructor) \ 905 V(SharedTypedArray, BigInt64ArrayConstructor) \ 906 V(SharedTypedArray, BigUint64ArrayConstructor) \ 907 V(SharedTypedArray, Fill) \ 908 V(SharedTypedArray, Find) \ 909 V(SharedTypedArray, FindIndex) \ 910 V(SharedTypedArray, IndexOf) \ 911 V(SharedTypedArray, Reduce) \ 912 V(SharedTypedArray, Reverse) \ 913 V(SharedTypedArray, Some) \ 914 V(SharedTypedArray, ToLocaleString) \ 915 V(SharedTypedArray, ToString) \ 916 V(SharedTypedArray, Includes) \ 917 V(SharedTypedArray, From) \ 918 V(SharedTypedArray, Of) \ 919 V(SharedTypedArray, Species) \ 920 V(SharedTypedArray, GetBuffer) \ 921 V(SharedTypedArray, GetByteLength) \ 922 V(SharedTypedArray, GetByteOffset) \ 923 V(SharedTypedArray, GetLength) \ 924 V(SharedTypedArray, CopyWithin) \ 925 V(SharedTypedArray, Entries) \ 926 V(SharedTypedArray, Every) \ 927 V(SharedTypedArray, Filter) \ 928 V(SharedTypedArray, ForEach) \ 929 V(SharedTypedArray, Join) \ 930 V(SharedTypedArray, Keys) \ 931 V(SharedTypedArray, Map) \ 932 V(SharedTypedArray, Set) \ 933 V(SharedTypedArray, Slice) \ 934 V(SharedTypedArray, Sort) \ 935 V(SharedTypedArray, Subarray) \ 936 V(SharedTypedArray, Values) \ 937 V(SharedTypedArray, ToStringTag) \ 938 V(SharedTypedArray, At) \ 939 V(WeakMap, Constructor) \ 940 V(WeakMap, Delete) \ 941 V(WeakMap, Get) \ 942 V(WeakMap, Has) \ 943 V(WeakMap, Set) \ 944 V(WeakSet, Constructor) \ 945 V(WeakSet, Delete) \ 946 V(WeakSet, Add) \ 947 V(WeakSet, Has) \ 948 V(WeakRef, Constructor) \ 949 V(WeakRef, Deref) \ 950 V(FinalizationRegistry, Constructor) \ 951 V(FinalizationRegistry, Register) \ 952 V(FinalizationRegistry, Unregister) \ 953 V(ArrayList, Constructor) \ 954 V(ArrayList, Add) \ 955 V(ArrayList, Insert) \ 956 V(ArrayList, Clear) \ 957 V(ArrayList, Clone) \ 958 V(ArrayList, Has) \ 959 V(ArrayList, GetCapacity) \ 960 V(ArrayList, IncreaseCapacityTo) \ 961 V(ArrayList, TrimToCurrentLength) \ 962 V(ArrayList, GetIndexOf) \ 963 V(ArrayList, IsEmpty) \ 964 V(ArrayList, GetLastIndexOf) \ 965 V(ArrayList, RemoveByIndex) \ 966 V(ArrayList, Remove) \ 967 V(ArrayList, RemoveByRange) \ 968 V(ArrayList, ReplaceAllElements) \ 969 V(ArrayList, Sort) \ 970 V(ArrayList, SubArrayList) \ 971 V(ArrayList, ConvertToArray) \ 972 V(ArrayList, ForEach) \ 973 V(ArrayList, GetIteratorObj) \ 974 V(ArrayList, Get) \ 975 V(ArrayList, Set) \ 976 V(ArrayList, GetSize) \ 977 V(BitVector, Constructor) \ 978 V(BitVector, Push) \ 979 V(BitVector, Pop) \ 980 V(BitVector, Has) \ 981 V(BitVector, SetBitsByRange) \ 982 V(BitVector, GetBitsByRange) \ 983 V(BitVector, Resize) \ 984 V(BitVector, SetAllBits) \ 985 V(BitVector, GetBitCountByRange) \ 986 V(BitVector, GetIndexOf) \ 987 V(BitVector, GetLastIndexOf) \ 988 V(BitVector, FlipBitByIndex) \ 989 V(BitVector, FlipBitsByRange) \ 990 V(BitVector, GetSize) \ 991 V(BitVector, GetIteratorObj) \ 992 V(ListFormat, Constructor) \ 993 V(ListFormat, SupportedLocalesOf) \ 994 V(ListFormat, Format) \ 995 V(ListFormat, FormatToParts) \ 996 V(ListFormat, ResolvedOptions) \ 997 V(LightWeightMap, Constructor) \ 998 V(LightWeightMap, HasAll) \ 999 V(LightWeightMap, HasKey) \ 1000 V(LightWeightMap, HasValue) \ 1001 V(LightWeightMap, IncreaseCapacityTo) \ 1002 V(LightWeightMap, Entries) \ 1003 V(LightWeightMap, Get) \ 1004 V(LightWeightMap, GetIndexOfKey) \ 1005 V(LightWeightMap, GetIndexOfValue) \ 1006 V(LightWeightMap, IsEmpty) \ 1007 V(LightWeightMap, GetKeyAt) \ 1008 V(LightWeightMap, Keys) \ 1009 V(LightWeightMap, SetAll) \ 1010 V(LightWeightMap, Set) \ 1011 V(LightWeightMap, Remove) \ 1012 V(LightWeightMap, RemoveAt) \ 1013 V(LightWeightMap, Clear) \ 1014 V(LightWeightMap, SetValueAt) \ 1015 V(LightWeightMap, ForEach) \ 1016 V(LightWeightMap, ToString) \ 1017 V(LightWeightMap, GetValueAt) \ 1018 V(LightWeightMap, Length) \ 1019 V(LightWeightSet, Constructor) \ 1020 V(LightWeightSet, Add) \ 1021 V(LightWeightSet, AddAll) \ 1022 V(LightWeightSet, IsEmpty) \ 1023 V(LightWeightSet, GetValueAt) \ 1024 V(LightWeightSet, HasAll) \ 1025 V(LightWeightSet, Has) \ 1026 V(LightWeightSet, HasHash) \ 1027 V(LightWeightSet, Equal) \ 1028 V(LightWeightSet, IncreaseCapacityTo) \ 1029 V(LightWeightSet, GetIteratorObj) \ 1030 V(LightWeightSet, Values) \ 1031 V(LightWeightSet, Entries) \ 1032 V(LightWeightSet, ForEach) \ 1033 V(LightWeightSet, GetIndexOf) \ 1034 V(LightWeightSet, Remove) \ 1035 V(LightWeightSet, RemoveAt) \ 1036 V(LightWeightSet, Clear) \ 1037 V(LightWeightSet, ToString) \ 1038 V(LightWeightSet, ToArray) \ 1039 V(LightWeightSet, GetSize) \ 1040 V(PlainArray, Constructor) \ 1041 V(PlainArray, Add) \ 1042 V(PlainArray, Clear) \ 1043 V(PlainArray, Clone) \ 1044 V(PlainArray, Has) \ 1045 V(PlainArray, Get) \ 1046 V(PlainArray, GetIteratorObj) \ 1047 V(PlainArray, ForEach) \ 1048 V(PlainArray, ToString) \ 1049 V(PlainArray, GetIndexOfKey) \ 1050 V(PlainArray, GetIndexOfValue) \ 1051 V(PlainArray, IsEmpty) \ 1052 V(PlainArray, GetKeyAt) \ 1053 V(PlainArray, Remove) \ 1054 V(PlainArray, RemoveAt) \ 1055 V(PlainArray, RemoveRangeFrom) \ 1056 V(PlainArray, SetValueAt) \ 1057 V(PlainArray, GetValueAt) \ 1058 V(PlainArray, GetSize) \ 1059 V(HashMap, Constructor) \ 1060 V(HashMap, HasKey) \ 1061 V(HashMap, HasValue) \ 1062 V(HashMap, Replace) \ 1063 V(HashMap, Keys) \ 1064 V(HashMap, Values) \ 1065 V(HashMap, GetIteratorObj) \ 1066 V(HashMap, Entries) \ 1067 V(HashMap, ForEach) \ 1068 V(HashMap, Set) \ 1069 V(HashMap, SetAll) \ 1070 V(HashMap, Remove) \ 1071 V(HashMap, Get) \ 1072 V(HashMap, Clear) \ 1073 V(HashMap, GetLength) \ 1074 V(HashMap, IsEmpty) \ 1075 V(HashSet, Constructor) \ 1076 V(HashSet, IsEmpty) \ 1077 V(HashSet, Has) \ 1078 V(HashSet, Add) \ 1079 V(HashSet, Remove) \ 1080 V(HashSet, Clear) \ 1081 V(HashSet, GetLength) \ 1082 V(HashSet, GetIteratorObj) \ 1083 V(HashSet, Values) \ 1084 V(HashSet, Entries) \ 1085 V(HashSet, ForEach) \ 1086 V(TreeMap, Constructor) \ 1087 V(TreeMap, HasKey) \ 1088 V(TreeMap, HasValue) \ 1089 V(TreeMap, GetFirstKey) \ 1090 V(TreeMap, GetLastKey) \ 1091 V(TreeMap, Set) \ 1092 V(TreeMap, Get) \ 1093 V(TreeMap, SetAll) \ 1094 V(TreeMap, Remove) \ 1095 V(TreeMap, Clear) \ 1096 V(TreeMap, GetLowerKey) \ 1097 V(TreeMap, GetHigherKey) \ 1098 V(TreeMap, Replace) \ 1099 V(TreeMap, IsEmpty) \ 1100 V(TreeMap, GetLength) \ 1101 V(TreeMap, Keys) \ 1102 V(TreeMap, Values) \ 1103 V(TreeMap, Entries) \ 1104 V(TreeMap, ForEach) \ 1105 V(TreeSet, Constructor) \ 1106 V(TreeSet, Add) \ 1107 V(TreeSet, Remove) \ 1108 V(TreeSet, Clear) \ 1109 V(TreeSet, Has) \ 1110 V(TreeSet, GetFirstValue) \ 1111 V(TreeSet, GetLastValue) \ 1112 V(TreeSet, GetLowerValue) \ 1113 V(TreeSet, GetHigherValue) \ 1114 V(TreeSet, PopFirst) \ 1115 V(TreeSet, PopLast) \ 1116 V(TreeSet, IsEmpty) \ 1117 V(TreeSet, GetLength) \ 1118 V(TreeSet, Values) \ 1119 V(TreeSet, ForEach) \ 1120 V(TreeSet, Entries) \ 1121 V(Deque, Constructor) \ 1122 V(Deque, InsertFront) \ 1123 V(Deque, InsertEnd) \ 1124 V(Deque, GetFirst) \ 1125 V(Deque, GetLast) \ 1126 V(Deque, GetFront) \ 1127 V(Deque, GetTail) \ 1128 V(Deque, Has) \ 1129 V(Deque, PopFirst) \ 1130 V(Deque, PopLast) \ 1131 V(Deque, ForEach) \ 1132 V(Deque, GetIteratorObj) \ 1133 V(Deque, GetSize) \ 1134 V(Stack, Constructor) \ 1135 V(Stack, Iterator) \ 1136 V(Stack, IsEmpty) \ 1137 V(Stack, Push) \ 1138 V(Stack, Peek) \ 1139 V(Stack, Pop) \ 1140 V(Stack, Locate) \ 1141 V(Stack, ForEach) \ 1142 V(Stack, GetLength) \ 1143 V(Vector, Constructor) \ 1144 V(Vector, Add) \ 1145 V(Vector, Insert) \ 1146 V(Vector, SetLength) \ 1147 V(Vector, GetCapacity) \ 1148 V(Vector, IncreaseCapacityTo) \ 1149 V(Vector, Get) \ 1150 V(Vector, GetIndexOf) \ 1151 V(Vector, GetIndexFrom) \ 1152 V(Vector, IsEmpty) \ 1153 V(Vector, GetLastElement) \ 1154 V(Vector, GetLastIndexOf) \ 1155 V(Vector, GetLastIndexFrom) \ 1156 V(Vector, Remove) \ 1157 V(Vector, RemoveByIndex) \ 1158 V(Vector, RemoveByRange) \ 1159 V(Vector, Set) \ 1160 V(Vector, SubVector) \ 1161 V(Vector, ToString) \ 1162 V(Vector, GetSize) \ 1163 V(Vector, ForEach) \ 1164 V(Vector, ReplaceAllElements) \ 1165 V(Vector, Has) \ 1166 V(Vector, Sort) \ 1167 V(Vector, Clear) \ 1168 V(Vector, Clone) \ 1169 V(Vector, CopyToArray) \ 1170 V(Vector, ConvertToArray) \ 1171 V(Vector, GetFirstElement) \ 1172 V(Vector, TrimToCurrentLength) \ 1173 V(Vector, GetIteratorObj) \ 1174 V(Queue, Constructor) \ 1175 V(Queue, Add) \ 1176 V(Queue, GetFirst) \ 1177 V(Queue, Pop) \ 1178 V(Queue, ForEach) \ 1179 V(Queue, GetIteratorObj) \ 1180 V(Queue, GetSize) \ 1181 V(List, Constructor) \ 1182 V(List, Add) \ 1183 V(List, GetFirst) \ 1184 V(List, GetLast) \ 1185 V(List, Insert) \ 1186 V(List, Clear) \ 1187 V(List, RemoveByIndex) \ 1188 V(List, Remove) \ 1189 V(List, Has) \ 1190 V(List, IsEmpty) \ 1191 V(List, Get) \ 1192 V(List, GetIndexOf) \ 1193 V(List, GetLastIndexOf) \ 1194 V(List, Set) \ 1195 V(List, ForEach) \ 1196 V(List, ReplaceAllElements) \ 1197 V(List, GetIteratorObj) \ 1198 V(List, Equal) \ 1199 V(List, Sort) \ 1200 V(List, ConvertToArray) \ 1201 V(List, GetSubList) \ 1202 V(List, Length) \ 1203 V(LinkedList, Constructor) \ 1204 V(LinkedList, Length) \ 1205 V(LinkedList, Add) \ 1206 V(LinkedList, GetFirst) \ 1207 V(LinkedList, GetLast) \ 1208 V(LinkedList, Insert) \ 1209 V(LinkedList, AddFirst) \ 1210 V(LinkedList, Clear) \ 1211 V(LinkedList, Clone) \ 1212 V(LinkedList, Has) \ 1213 V(LinkedList, Get) \ 1214 V(LinkedList, GetIndexOf) \ 1215 V(LinkedList, GetLastIndexOf) \ 1216 V(LinkedList, RemoveByIndex) \ 1217 V(LinkedList, Remove) \ 1218 V(LinkedList, RemoveFirst) \ 1219 V(LinkedList, RemoveLast) \ 1220 V(LinkedList, RemoveFirstFound) \ 1221 V(LinkedList, RemoveLastFound) \ 1222 V(LinkedList, Set) \ 1223 V(LinkedList, ConvertToArray) \ 1224 V(LinkedList, ForEach) \ 1225 V(LinkedList, GetIteratorObj) 1226 1227 #define ABSTRACT_OPERATION_LIST(V) \ 1228 V(JSTaggedValue, ToString) \ 1229 1230 #define MEM_ALLOCATE_AND_GC_LIST(V) \ 1231 V(FullGC_RunPhases) \ 1232 V(PartialGC_RunPhases) \ 1233 V(ConcurrentMarking) \ 1234 V(ConcurrentMarkingInitialize) \ 1235 V(IncrementalMarking) \ 1236 V(IncrementalMarkingInitialize) \ 1237 V(WaitConcurrentMarkingFinished) \ 1238 V(ReMarking) \ 1239 V(ConcurrentSweepingInitialize) \ 1240 V(ConcurrentSweepingWait) \ 1241 V(ParallelEvacuationInitialize) \ 1242 V(ParallelEvacuation) \ 1243 V(ParallelUpdateReference) \ 1244 V(WaitUpdateFinished) \ 1245 V(UpdateRoot) \ 1246 V(UpdateWeakReference) \ 1247 V(ParallelEvacuator) \ 1248 V(ParallelEvacuatorInitialize) \ 1249 V(ParallelEvacuatorFinalize) \ 1250 V(HugeSpaceExpand) \ 1251 V(NonMovableSpaceExpand) \ 1252 V(HeapPrepare) \ 1253 1254 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1255 #define INTERPRETER_CALLER_ID(name) INTERPRETER_ID_##name, 1256 #define RUNTIME_CALLER_ID(name) RUNTIME_ID_##name, 1257 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1258 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1259 #define BUILTINS_API_ID(class, name) BUILTINS_ID_##class##_##name, 1260 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1261 #define ABSTRACT_OPERATION_ID(class, name) ABSTRACT_ID_##class##_##name, 1262 1263 #define MEM_ALLOCATE_AND_GC_ID(name) MEM_ID##name, 1264 1265 enum EcmaRuntimeCallerId { 1266 INTERPRETER_CALLER_LIST(INTERPRETER_CALLER_ID) BUILTINS_API_LIST(BUILTINS_API_ID) 1267 ABSTRACT_OPERATION_LIST(ABSTRACT_OPERATION_ID) 1268 MEM_ALLOCATE_AND_GC_LIST(MEM_ALLOCATE_AND_GC_ID) 1269 #define DEF_RUNTIME_ID(name) RUNTIME_ID_##name, 1270 RUNTIME_STUB_WITH_GC_LIST(DEF_RUNTIME_ID) 1271 #undef DEF_RUNTIME_ID 1272 RUNTIME_CALLER_NUMBER, 1273 }; 1274 1275 #if ECMASCRIPT_ENABLE_INTERPRETER_RUNTIME_STAT 1276 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1277 #define INTERPRETER_TRACE(thread, name) \ 1278 [[maybe_unused]] JSThread *_js_thread_ = thread; \ 1279 [[maybe_unused]] EcmaRuntimeStat *_run_stat_ = _js_thread_->GetCurrentEcmaContext()->GetRuntimeStat(); \ 1280 RuntimeTimerScope interpret_##name##_scope_(INTERPRETER_CALLER_ID(name) _run_stat_) 1281 #if defined(ECMASCRIPT_SUPPORT_CPUPROFILER) 1282 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1283 #define RUNTIME_TRACE(thread, name) \ 1284 [[maybe_unused]] JSThread *_js_thread_ = thread; \ 1285 [[maybe_unused]] EcmaRuntimeStat *_run_stat_ = _js_thread_->GetCurrentEcmaContext()->GetRuntimeStat(); \ 1286 RuntimeTimerScope interpret_##name##_scope_(RUNTIME_CALLER_ID(name) _run_stat_); \ 1287 [[maybe_unused]] RuntimeStateScope _runtime_state_##name##_scope_(_js_thread_) 1288 #else 1289 #define RUNTIME_TRACE(thread, name) \ 1290 [[maybe_unused]] JSThread *_js_thread_ = thread; \ 1291 [[maybe_unused]] EcmaRuntimeStat *_run_stat_ = _js_thread_->GetCurrentEcmaContext()->GetRuntimeStat(); \ 1292 RuntimeTimerScope interpret_##name##_scope_(RUNTIME_CALLER_ID(name) _run_stat_); 1293 #endif 1294 #else 1295 #define INTERPRETER_TRACE(thread, name) static_cast<void>(0) // NOLINT(cppcoreguidelines-macro-usage) 1296 #if defined(ECMASCRIPT_SUPPORT_CPUPROFILER) 1297 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1298 #define RUNTIME_TRACE(thread, name) \ 1299 [[maybe_unused]] JSThread *_js_thread_ = thread; \ 1300 [[maybe_unused]] RuntimeStateScope _runtime_state_##name##_scope_(_js_thread_) 1301 #else 1302 #define RUNTIME_TRACE(thread, name) static_cast<void>(0) // NOLINT(cppcoreguidelines-macro-usage) 1303 #endif // defined(ECMASCRIPT_SUPPORT_CPUPROFILER) 1304 #endif // ECMASCRIPT_ENABLE_INTERPRETER_RUNTIME_STAT 1305 1306 #if ECMASCRIPT_ENABLE_BUILTINS_RUNTIME_STAT 1307 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1308 #define BUILTINS_API_TRACE(thread, class, name) \ 1309 [[maybe_unused]] JSThread *_js_thread_ = thread; \ 1310 [[maybe_unused]] EcmaRuntimeStat *_run_stat_ = _js_thread_->GetCurrentEcmaContext()->GetRuntimeStat(); \ 1311 RuntimeTimerScope builtins_##class##name##_scope_(BUILTINS_API_ID(class, name) _run_stat_) 1312 1313 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 1314 #define ABSTRACT_OPERATION_TRACE(thread, class, name) \ 1315 [[maybe_unused]] JSThread *_js_thread_ = thread; \ 1316 [[maybe_unused]] EcmaRuntimeStat *_run_stat_ = _js_thread_->GetCurrentEcmaContext()->GetRuntimeStat(); \ 1317 RuntimeTimerScope abstract_##class##name##_scope_(ABSTRACT_OPERATION_ID(class, name) _run_stat_) 1318 #else 1319 #define BUILTINS_API_TRACE(thread, class, name) static_cast<void>(0) // NOLINT(cppcoreguidelines-macro-usage) 1320 #define ABSTRACT_OPERATION_TRACE(class, name) static_cast<void>(0) // NOLINT(cppcoreguidelines-macro-usage) 1321 #endif // ECMASCRIPT_ENABLE_BUILTINS_RUNTIME_STAT 1322 1323 #if ECMASCRIPT_ENABLE_ALLOCATE_AND_GC_RUNTIME_STAT 1324 #define MEM_ALLOCATE_AND_GC_TRACE(vm, name) \ 1325 CHECK_JS_THREAD(vm); \ 1326 EcmaRuntimeStat *_run_stat_ = vm->GetJSThread()->GetCurrentEcmaContext()->GetRuntimeStat(); \ 1327 RuntimeTimerScope mem_##name##_scope_(MEM_ALLOCATE_AND_GC_ID(name) _run_stat_) 1328 #else 1329 #define MEM_ALLOCATE_AND_GC_TRACE(vm, name) static_cast<void>(0) // NOLINT(cppcoreguidelines-macro-usage) 1330 #endif // ECMASCRIPT_ENABLE_ALLOCATE_AND_GC_RUNTIME_STAT 1331 } // namespace panda::ecmascript 1332 #endif 1333