Changeset 292193 in webkit for trunk/Source/JavaScriptCore/jsc.cpp
- Timestamp:
- Mar 31, 2022, 6:25:02 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jsc.cpp
r292118 r292193 528 528 JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); 529 529 530 addFunction(vm, "debug" , functionDebug, 1);531 addFunction(vm, "describe" , functionDescribe, 1);532 addFunction(vm, "describeArray" , functionDescribeArray, 1);533 addFunction(vm, "print" , functionPrintStdOut, 1);534 addFunction(vm, "printErr" , functionPrintStdErr, 1);535 addFunction(vm, "prettyPrint" , functionPrettyPrint, 1);536 addFunction(vm, "quit" , functionQuit, 0);537 addFunction(vm, "gc" , functionGCAndSweep, 0);538 addFunction(vm, "fullGC" , functionFullGC, 0);539 addFunction(vm, "edenGC" , functionEdenGC, 0);540 addFunction(vm, "gcHeapSize" , functionHeapSize, 0);541 addFunction(vm, "memoryUsageStatistics" , functionMemoryUsageStatistics, 0);542 addFunction(vm, "MemoryFootprint" , functionCreateMemoryFootprint, 0);543 addFunction(vm, "resetMemoryPeak" , functionResetMemoryPeak, 0);544 addFunction(vm, "addressOf" , functionAddressOf, 1);545 addFunction(vm, "version" , functionVersion, 1);546 addFunction(vm, "run" , functionRun, 1);547 addFunction(vm, "runString" , functionRunString, 1);548 addFunction(vm, "load" , functionLoad, 1);549 addFunction(vm, "loadString" , functionLoadString, 1);550 addFunction(vm, "readFile" , functionReadFile, 2);551 addFunction(vm, "read" , functionReadFile, 2);552 addFunction(vm, "checkSyntax" , functionCheckSyntax, 1);553 addFunction(vm, "sleepSeconds" , functionSleepSeconds, 1);554 addFunction(vm, "jscStack" , functionJSCStack, 1);555 addFunction(vm, "openFile" , functionOpenFile, 1);556 addFunction(vm, "readline" , functionReadline, 0);557 addFunction(vm, "preciseTime" , functionPreciseTime, 0);558 addFunction(vm, "neverInlineFunction" , functionNeverInlineFunction, 1);559 addFunction(vm, "noInline" , functionNeverInlineFunction, 1);560 addFunction(vm, "noDFG" , functionNoDFG, 1);561 addFunction(vm, "noFTL" , functionNoFTL, 1);562 addFunction(vm, "noOSRExitFuzzing" , functionNoOSRExitFuzzing, 1);563 addFunction(vm, "numberOfDFGCompiles" , functionNumberOfDFGCompiles, 1);564 addFunction(vm, "callerIsBBQOrOMGCompiled" , functionCallerIsBBQOrOMGCompiled, 0);565 addFunction(vm, "jscOptions" , functionJSCOptions, 0);566 addFunction(vm, "optimizeNextInvocation" , functionOptimizeNextInvocation, 1);567 addFunction(vm, "reoptimizationRetryCount" , functionReoptimizationRetryCount, 1);568 addFunction(vm, "transferArrayBuffer" , functionTransferArrayBuffer, 1);569 addFunction(vm, "failNextNewCodeBlock" , functionFailNextNewCodeBlock, 1);530 addFunction(vm, "debug"_s, functionDebug, 1); 531 addFunction(vm, "describe"_s, functionDescribe, 1); 532 addFunction(vm, "describeArray"_s, functionDescribeArray, 1); 533 addFunction(vm, "print"_s, functionPrintStdOut, 1); 534 addFunction(vm, "printErr"_s, functionPrintStdErr, 1); 535 addFunction(vm, "prettyPrint"_s, functionPrettyPrint, 1); 536 addFunction(vm, "quit"_s, functionQuit, 0); 537 addFunction(vm, "gc"_s, functionGCAndSweep, 0); 538 addFunction(vm, "fullGC"_s, functionFullGC, 0); 539 addFunction(vm, "edenGC"_s, functionEdenGC, 0); 540 addFunction(vm, "gcHeapSize"_s, functionHeapSize, 0); 541 addFunction(vm, "memoryUsageStatistics"_s, functionMemoryUsageStatistics, 0); 542 addFunction(vm, "MemoryFootprint"_s, functionCreateMemoryFootprint, 0); 543 addFunction(vm, "resetMemoryPeak"_s, functionResetMemoryPeak, 0); 544 addFunction(vm, "addressOf"_s, functionAddressOf, 1); 545 addFunction(vm, "version"_s, functionVersion, 1); 546 addFunction(vm, "run"_s, functionRun, 1); 547 addFunction(vm, "runString"_s, functionRunString, 1); 548 addFunction(vm, "load"_s, functionLoad, 1); 549 addFunction(vm, "loadString"_s, functionLoadString, 1); 550 addFunction(vm, "readFile"_s, functionReadFile, 2); 551 addFunction(vm, "read"_s, functionReadFile, 2); 552 addFunction(vm, "checkSyntax"_s, functionCheckSyntax, 1); 553 addFunction(vm, "sleepSeconds"_s, functionSleepSeconds, 1); 554 addFunction(vm, "jscStack"_s, functionJSCStack, 1); 555 addFunction(vm, "openFile"_s, functionOpenFile, 1); 556 addFunction(vm, "readline"_s, functionReadline, 0); 557 addFunction(vm, "preciseTime"_s, functionPreciseTime, 0); 558 addFunction(vm, "neverInlineFunction"_s, functionNeverInlineFunction, 1); 559 addFunction(vm, "noInline"_s, functionNeverInlineFunction, 1); 560 addFunction(vm, "noDFG"_s, functionNoDFG, 1); 561 addFunction(vm, "noFTL"_s, functionNoFTL, 1); 562 addFunction(vm, "noOSRExitFuzzing"_s, functionNoOSRExitFuzzing, 1); 563 addFunction(vm, "numberOfDFGCompiles"_s, functionNumberOfDFGCompiles, 1); 564 addFunction(vm, "callerIsBBQOrOMGCompiled"_s, functionCallerIsBBQOrOMGCompiled, 0); 565 addFunction(vm, "jscOptions"_s, functionJSCOptions, 0); 566 addFunction(vm, "optimizeNextInvocation"_s, functionOptimizeNextInvocation, 1); 567 addFunction(vm, "reoptimizationRetryCount"_s, functionReoptimizationRetryCount, 1); 568 addFunction(vm, "transferArrayBuffer"_s, functionTransferArrayBuffer, 1); 569 addFunction(vm, "failNextNewCodeBlock"_s, functionFailNextNewCodeBlock, 1); 570 570 #if ENABLE(SAMPLING_FLAGS) 571 addFunction(vm, "setSamplingFlags" , functionSetSamplingFlags, 1);572 addFunction(vm, "clearSamplingFlags" , functionClearSamplingFlags, 1);571 addFunction(vm, "setSamplingFlags"_s, functionSetSamplingFlags, 1); 572 addFunction(vm, "clearSamplingFlags"_s, functionClearSamplingFlags, 1); 573 573 #endif 574 574 … … 580 580 putDirectNativeFunction(vm, this, Identifier::fromString(vm, "fiatInt52"_s), 0, functionIdentity, FiatInt52Intrinsic, DontEnum); 581 581 582 addFunction(vm, "effectful42" , functionEffectful42, 0);583 addFunction(vm, "makeMasquerader" , functionMakeMasquerader, 0);584 addFunction(vm, "hasCustomProperties" , functionHasCustomProperties, 0);585 586 addFunction(vm, "createGlobalObject" , functionCreateGlobalObject, 0);587 addFunction(vm, "createHeapBigInt" , functionCreateHeapBigInt, 1);582 addFunction(vm, "effectful42"_s, functionEffectful42, 0); 583 addFunction(vm, "makeMasquerader"_s, functionMakeMasquerader, 0); 584 addFunction(vm, "hasCustomProperties"_s, functionHasCustomProperties, 0); 585 586 addFunction(vm, "createGlobalObject"_s, functionCreateGlobalObject, 0); 587 addFunction(vm, "createHeapBigInt"_s, functionCreateHeapBigInt, 1); 588 588 #if USE(BIGINT32) 589 addFunction(vm, "createBigInt32" , functionCreateBigInt32, 1);590 #endif 591 addFunction(vm, "useBigInt32" , functionUseBigInt32, 0);592 addFunction(vm, "isBigInt32" , functionIsBigInt32, 1);593 addFunction(vm, "isHeapBigInt" , functionIsHeapBigInt, 1);594 595 addFunction(vm, "dumpTypesForAllVariables" , functionDumpTypesForAllVariables , 0);596 597 addFunction(vm, "drainMicrotasks" , functionDrainMicrotasks, 0);598 addFunction(vm, "setTimeout" , functionSetTimeout, 2);599 600 addFunction(vm, "releaseWeakRefs" , functionReleaseWeakRefs, 0);601 addFunction(vm, "finalizationRegistryLiveCount" , functionFinalizationRegistryLiveCount, 0);602 addFunction(vm, "finalizationRegistryDeadCount" , functionFinalizationRegistryDeadCount, 0);589 addFunction(vm, "createBigInt32"_s, functionCreateBigInt32, 1); 590 #endif 591 addFunction(vm, "useBigInt32"_s, functionUseBigInt32, 0); 592 addFunction(vm, "isBigInt32"_s, functionIsBigInt32, 1); 593 addFunction(vm, "isHeapBigInt"_s, functionIsHeapBigInt, 1); 594 595 addFunction(vm, "dumpTypesForAllVariables"_s, functionDumpTypesForAllVariables , 0); 596 597 addFunction(vm, "drainMicrotasks"_s, functionDrainMicrotasks, 0); 598 addFunction(vm, "setTimeout"_s, functionSetTimeout, 2); 599 600 addFunction(vm, "releaseWeakRefs"_s, functionReleaseWeakRefs, 0); 601 addFunction(vm, "finalizationRegistryLiveCount"_s, functionFinalizationRegistryLiveCount, 0); 602 addFunction(vm, "finalizationRegistryDeadCount"_s, functionFinalizationRegistryDeadCount, 0); 603 603 604 addFunction(vm, "getRandomSeed" , functionGetRandomSeed, 0);605 addFunction(vm, "setRandomSeed" , functionSetRandomSeed, 1);606 addFunction(vm, "isRope" , functionIsRope, 1);607 addFunction(vm, "callerSourceOrigin" , functionCallerSourceOrigin, 0);608 609 addFunction(vm, "is32BitPlatform" , functionIs32BitPlatform, 0);610 611 addFunction(vm, "checkModuleSyntax" , functionCheckModuleSyntax, 1);612 addFunction(vm, "checkScriptSyntax" , functionCheckScriptSyntax, 1);613 614 addFunction(vm, "platformSupportsSamplingProfiler" , functionPlatformSupportsSamplingProfiler, 0);615 addFunction(vm, "generateHeapSnapshot" , functionGenerateHeapSnapshot, 0);616 addFunction(vm, "generateHeapSnapshotForGCDebugging" , functionGenerateHeapSnapshotForGCDebugging, 0);617 addFunction(vm, "resetSuperSamplerState" , functionResetSuperSamplerState, 0);618 addFunction(vm, "ensureArrayStorage" , functionEnsureArrayStorage, 0);604 addFunction(vm, "getRandomSeed"_s, functionGetRandomSeed, 0); 605 addFunction(vm, "setRandomSeed"_s, functionSetRandomSeed, 1); 606 addFunction(vm, "isRope"_s, functionIsRope, 1); 607 addFunction(vm, "callerSourceOrigin"_s, functionCallerSourceOrigin, 0); 608 609 addFunction(vm, "is32BitPlatform"_s, functionIs32BitPlatform, 0); 610 611 addFunction(vm, "checkModuleSyntax"_s, functionCheckModuleSyntax, 1); 612 addFunction(vm, "checkScriptSyntax"_s, functionCheckScriptSyntax, 1); 613 614 addFunction(vm, "platformSupportsSamplingProfiler"_s, functionPlatformSupportsSamplingProfiler, 0); 615 addFunction(vm, "generateHeapSnapshot"_s, functionGenerateHeapSnapshot, 0); 616 addFunction(vm, "generateHeapSnapshotForGCDebugging"_s, functionGenerateHeapSnapshotForGCDebugging, 0); 617 addFunction(vm, "resetSuperSamplerState"_s, functionResetSuperSamplerState, 0); 618 addFunction(vm, "ensureArrayStorage"_s, functionEnsureArrayStorage, 0); 619 619 #if ENABLE(SAMPLING_PROFILER) 620 addFunction(vm, "startSamplingProfiler" , functionStartSamplingProfiler, 0);621 addFunction(vm, "samplingProfilerStackTraces" , functionSamplingProfilerStackTraces, 0);622 #endif 623 624 addFunction(vm, "maxArguments" , functionMaxArguments, 0);625 626 addFunction(vm, "asyncTestStart" , functionAsyncTestStart, 1);627 addFunction(vm, "asyncTestPassed" , functionAsyncTestPassed, 1);620 addFunction(vm, "startSamplingProfiler"_s, functionStartSamplingProfiler, 0); 621 addFunction(vm, "samplingProfilerStackTraces"_s, functionSamplingProfilerStackTraces, 0); 622 #endif 623 624 addFunction(vm, "maxArguments"_s, functionMaxArguments, 0); 625 626 addFunction(vm, "asyncTestStart"_s, functionAsyncTestStart, 1); 627 addFunction(vm, "asyncTestPassed"_s, functionAsyncTestPassed, 1); 628 628 629 629 #if ENABLE(WEBASSEMBLY) 630 addFunction(vm, "WebAssemblyMemoryMode" , functionWebAssemblyMemoryMode, 1);630 addFunction(vm, "WebAssemblyMemoryMode"_s, functionWebAssemblyMemoryMode, 1); 631 631 #endif 632 632 … … 646 646 putDirect(vm, Identifier::fromString(vm, "$262"_s), dollar, DontEnum); 647 647 648 addFunction(vm, dollar, "createRealm" , functionDollarCreateRealm, 0, static_cast<unsigned>(PropertyAttribute::None));649 addFunction(vm, dollar, "detachArrayBuffer" , functionTransferArrayBuffer, 1, static_cast<unsigned>(PropertyAttribute::None));650 addFunction(vm, dollar, "evalScript" , functionDollarEvalScript, 1, static_cast<unsigned>(PropertyAttribute::None));651 addFunction(vm, dollar, "gc" , functionDollarGC, 0, static_cast<unsigned>(PropertyAttribute::None));652 addFunction(vm, dollar, "clearKeptObjects" , functionDollarClearKeptObjects, 0, static_cast<unsigned>(PropertyAttribute::None));653 addFunction(vm, dollar, "globalObjectFor" , functionDollarGlobalObjectFor, 1, static_cast<unsigned>(PropertyAttribute::None));654 addFunction(vm, dollar, "isRemoteFunction" , functionDollarIsRemoteFunction, 1, static_cast<unsigned>(PropertyAttribute::None));648 addFunction(vm, dollar, "createRealm"_s, functionDollarCreateRealm, 0, static_cast<unsigned>(PropertyAttribute::None)); 649 addFunction(vm, dollar, "detachArrayBuffer"_s, functionTransferArrayBuffer, 1, static_cast<unsigned>(PropertyAttribute::None)); 650 addFunction(vm, dollar, "evalScript"_s, functionDollarEvalScript, 1, static_cast<unsigned>(PropertyAttribute::None)); 651 addFunction(vm, dollar, "gc"_s, functionDollarGC, 0, static_cast<unsigned>(PropertyAttribute::None)); 652 addFunction(vm, dollar, "clearKeptObjects"_s, functionDollarClearKeptObjects, 0, static_cast<unsigned>(PropertyAttribute::None)); 653 addFunction(vm, dollar, "globalObjectFor"_s, functionDollarGlobalObjectFor, 1, static_cast<unsigned>(PropertyAttribute::None)); 654 addFunction(vm, dollar, "isRemoteFunction"_s, functionDollarIsRemoteFunction, 1, static_cast<unsigned>(PropertyAttribute::None)); 655 655 656 656 dollar->putDirect(vm, Identifier::fromString(vm, "global"_s), globalThis()); … … 665 665 // The test262 INTERPRETING.md document says that some of these functions are just in the main 666 666 // thread and some are in the other threads. We just put them in all threads. 667 addFunction(vm, agent, "start" , functionDollarAgentStart, 1);668 addFunction(vm, agent, "receiveBroadcast" , functionDollarAgentReceiveBroadcast, 1);669 addFunction(vm, agent, "report" , functionDollarAgentReport, 1);670 addFunction(vm, agent, "sleep" , functionDollarAgentSleep, 1);671 addFunction(vm, agent, "broadcast" , functionDollarAgentBroadcast, 1);672 addFunction(vm, agent, "getReport" , functionDollarAgentGetReport, 0);673 addFunction(vm, agent, "leaving" , functionDollarAgentLeaving, 0);674 addFunction(vm, agent, "monotonicNow" , functionDollarAgentMonotonicNow, 0);675 676 addFunction(vm, "waitForReport" , functionWaitForReport, 0);677 678 addFunction(vm, "heapCapacity" , functionHeapCapacity, 0);679 addFunction(vm, "flashHeapAccess" , functionFlashHeapAccess, 0);680 681 addFunction(vm, "disableRichSourceInfo" , functionDisableRichSourceInfo, 0);682 addFunction(vm, "mallocInALoop" , functionMallocInALoop, 0);683 addFunction(vm, "totalCompileTime" , functionTotalCompileTime, 0);684 685 addFunction(vm, "setUnhandledRejectionCallback" , functionSetUnhandledRejectionCallback, 1);686 687 addFunction(vm, "asDoubleNumber" , functionAsDoubleNumber, 1);688 689 addFunction(vm, "dropAllLocks" , functionDropAllLocks, 1);667 addFunction(vm, agent, "start"_s, functionDollarAgentStart, 1); 668 addFunction(vm, agent, "receiveBroadcast"_s, functionDollarAgentReceiveBroadcast, 1); 669 addFunction(vm, agent, "report"_s, functionDollarAgentReport, 1); 670 addFunction(vm, agent, "sleep"_s, functionDollarAgentSleep, 1); 671 addFunction(vm, agent, "broadcast"_s, functionDollarAgentBroadcast, 1); 672 addFunction(vm, agent, "getReport"_s, functionDollarAgentGetReport, 0); 673 addFunction(vm, agent, "leaving"_s, functionDollarAgentLeaving, 0); 674 addFunction(vm, agent, "monotonicNow"_s, functionDollarAgentMonotonicNow, 0); 675 676 addFunction(vm, "waitForReport"_s, functionWaitForReport, 0); 677 678 addFunction(vm, "heapCapacity"_s, functionHeapCapacity, 0); 679 addFunction(vm, "flashHeapAccess"_s, functionFlashHeapAccess, 0); 680 681 addFunction(vm, "disableRichSourceInfo"_s, functionDisableRichSourceInfo, 0); 682 addFunction(vm, "mallocInALoop"_s, functionMallocInALoop, 0); 683 addFunction(vm, "totalCompileTime"_s, functionTotalCompileTime, 0); 684 685 addFunction(vm, "setUnhandledRejectionCallback"_s, functionSetUnhandledRejectionCallback, 1); 686 687 addFunction(vm, "asDoubleNumber"_s, functionAsDoubleNumber, 1); 688 689 addFunction(vm, "dropAllLocks"_s, functionDropAllLocks, 1); 690 690 691 691 if (Options::exposeCustomSettersOnGlobalObjectForTesting()) { … … 705 705 706 706 public: 707 static bool testCustomSetterImpl(JSGlobalObject* lexicalGlobalObject, GlobalObject* thisObject, EncodedJSValue encodedValue, const char*propertyName)707 static bool testCustomSetterImpl(JSGlobalObject* lexicalGlobalObject, GlobalObject* thisObject, EncodedJSValue encodedValue, ASCIILiteral propertyName) 708 708 { 709 709 VM& vm = lexicalGlobalObject->vm(); … … 716 716 717 717 private: 718 void addFunction(VM& vm, JSObject* object, const char*name, NativeFunction function, unsigned arguments, unsigned attributes = static_cast<unsigned>(PropertyAttribute::DontEnum))718 void addFunction(VM& vm, JSObject* object, ASCIILiteral name, NativeFunction function, unsigned arguments, unsigned attributes = static_cast<unsigned>(PropertyAttribute::DontEnum)) 719 719 { 720 720 Identifier identifier = Identifier::fromString(vm, name); … … 722 722 } 723 723 724 void addFunction(VM& vm, const char*name, NativeFunction function, unsigned arguments, unsigned attributes = static_cast<unsigned>(PropertyAttribute::DontEnum))724 void addFunction(VM& vm, ASCIILiteral name, NativeFunction function, unsigned arguments, unsigned attributes = static_cast<unsigned>(PropertyAttribute::DontEnum)) 725 725 { 726 726 addFunction(vm, this, name, function, arguments, attributes); … … 778 778 GlobalObject* thisObject = jsDynamicCast<GlobalObject*>(vm, jsCast<JSProxy*>(thisCell)->target()); 779 779 RELEASE_ASSERT(thisObject); 780 return GlobalObject::testCustomSetterImpl(lexicalGlobalObject, thisObject, encodedValue, "_testCustomAccessorSetter" );780 return GlobalObject::testCustomSetterImpl(lexicalGlobalObject, thisObject, encodedValue, "_testCustomAccessorSetter"_s); 781 781 } 782 782 … … 788 788 GlobalObject* thisObject = jsDynamicCast<GlobalObject*>(vm, thisCell); 789 789 RELEASE_ASSERT(thisObject); 790 return GlobalObject::testCustomSetterImpl(lexicalGlobalObject, thisObject, encodedValue, "_testCustomValueSetter" );790 return GlobalObject::testCustomSetterImpl(lexicalGlobalObject, thisObject, encodedValue, "_testCustomValueSetter"_s); 791 791 } 792 792 … … 1458 1458 Base::finishCreation(vm); 1459 1459 1460 auto addProperty = [&] (VM& vm, const char*name, JSValue value) {1460 auto addProperty = [&] (VM& vm, ASCIILiteral name, JSValue value) { 1461 1461 JSCMemoryFootprint::addProperty(vm, name, value); 1462 1462 }; … … 1464 1464 MemoryFootprint footprint = MemoryFootprint::now(); 1465 1465 1466 addProperty(vm, "current" , jsNumber(footprint.current));1467 addProperty(vm, "peak" , jsNumber(footprint.peak));1466 addProperty(vm, "current"_s, jsNumber(footprint.current)); 1467 addProperty(vm, "peak"_s, jsNumber(footprint.peak)); 1468 1468 } 1469 1469 … … 1471 1471 1472 1472 private: 1473 void addProperty(VM& vm, const char*name, JSValue value)1473 void addProperty(VM& vm, ASCIILiteral name, JSValue value) 1474 1474 { 1475 1475 Identifier identifier = Identifier::fromString(vm, name); … … 1539 1539 RETURN_IF_EXCEPTION(scope, encodedJSValue()); 1540 1540 } 1541 realm->putDirect(vm, Identifier::fromString(vm, "arguments" ), array);1541 realm->putDirect(vm, Identifier::fromString(vm, "arguments"_s), array); 1542 1542 1543 1543 NakedPtr<Exception> exception; … … 1573 1573 RETURN_IF_EXCEPTION(scope, encodedJSValue()); 1574 1574 } 1575 realm->putDirect(vm, Identifier::fromString(vm, "arguments" ), array);1575 realm->putDirect(vm, Identifier::fromString(vm, "arguments"_s), array); 1576 1576 1577 1577 NakedPtr<Exception> exception;
Note:
See TracChangeset
for help on using the changeset viewer.