Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 407d0feac1cd08661b4cf6e3ce217354502b0970
https://github.com/WebKit/WebKit/commit/407d0feac1cd08661b4cf6e3ce217354502b0970
Author: Yusuke Suzuki <[email protected]>
Date: 2026-04-20 (Mon, 20 Apr 2026)
Changed paths:
M Source/JavaScriptCore/API/JSAPIGlobalObject.h
M Source/JavaScriptCore/API/JSAPIGlobalObject.mm
M Source/JavaScriptCore/CMakeLists.txt
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M
Source/JavaScriptCore/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations
M Source/JavaScriptCore/Sources.txt
M Source/JavaScriptCore/heap/Heap.h
M Source/JavaScriptCore/heap/HeapSubspaceTypes.h
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp
M Source/JavaScriptCore/runtime/AbstractModuleRecord.h
M Source/JavaScriptCore/runtime/Completion.cpp
M Source/JavaScriptCore/runtime/Completion.h
M Source/JavaScriptCore/runtime/CyclicModuleRecord.cpp
M Source/JavaScriptCore/runtime/CyclicModuleRecord.h
M Source/JavaScriptCore/runtime/GlobalObjectMethodTable.h
M Source/JavaScriptCore/runtime/JSMicrotask.cpp
M Source/JavaScriptCore/runtime/JSModuleLoader.cpp
M Source/JavaScriptCore/runtime/JSModuleLoader.h
M Source/JavaScriptCore/runtime/JSModuleRecord.cpp
R Source/JavaScriptCore/runtime/JSScriptFetchParameters.cpp
R Source/JavaScriptCore/runtime/JSScriptFetchParameters.h
R Source/JavaScriptCore/runtime/JSScriptFetchParametersInlines.h
R Source/JavaScriptCore/runtime/JSScriptFetcher.cpp
R Source/JavaScriptCore/runtime/JSScriptFetcher.h
R Source/JavaScriptCore/runtime/JSScriptFetcherInlines.h
M Source/JavaScriptCore/runtime/JSType.cpp
M Source/JavaScriptCore/runtime/JSType.h
M Source/JavaScriptCore/runtime/ModuleGraphLoadingState.cpp
M Source/JavaScriptCore/runtime/ModuleGraphLoadingState.h
M Source/JavaScriptCore/runtime/ModuleLoadingContext.cpp
M Source/JavaScriptCore/runtime/ModuleLoadingContext.h
M Source/JavaScriptCore/runtime/ModuleRegistryEntry.cpp
M Source/JavaScriptCore/runtime/ModuleRegistryEntry.h
M Source/JavaScriptCore/runtime/SyntheticModuleRecord.cpp
M Source/JavaScriptCore/runtime/SyntheticModuleRecord.h
M Source/JavaScriptCore/runtime/VM.cpp
M Source/JavaScriptCore/runtime/VM.h
M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp
M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.h
M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
M Source/WebCore/bindings/js/JSDOMGlobalObject.h
M Source/WebCore/bindings/js/JSExecState.h
M Source/WebCore/bindings/js/ScriptController.cpp
M Source/WebCore/bindings/js/ScriptModuleLoader.cpp
M Source/WebCore/bindings/js/ScriptModuleLoader.h
M Source/WebCore/workers/WorkerOrWorkletScriptController.cpp
Log Message:
-----------
Remove JSScriptFetcher and JSScriptFetchParameters
https://bugs.webkit.org/show_bug.cgi?id=312743
rdar://175137643
Reviewed by Yijia Huang.
Now module loader pipeline is no longer written in JS. So we can just
pass C++ object directly, in this case, RefPtr<ScriptFetcher> and
RefPtr<ScriptFetchParameters>. We use them directly and remove JS
wrappers around them.
We also extract Parameter extraction code to
JSModuleLoader::importModule.
Also, fix setter names. We should have "set" prefix.
* Source/JavaScriptCore/API/JSAPIGlobalObject.h:
* Source/JavaScriptCore/API/JSAPIGlobalObject.mm:
(JSC::JSAPIGlobalObject::moduleLoaderResolve):
(JSC::JSAPIGlobalObject::moduleLoaderImportModule):
(JSC::JSAPIGlobalObject::moduleLoaderFetch):
(JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties):
(JSC::JSAPIGlobalObject::moduleLoaderEvaluate):
(JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule):
* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
*
Source/JavaScriptCore/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/heap/Heap.h:
* Source/JavaScriptCore/heap/HeapSubspaceTypes.h:
* Source/JavaScriptCore/jsc.cpp:
(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
(GlobalObject::moduleLoaderCreateImportMetaProperties):
(runWithOptions):
* Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::link):
(JSC::AbstractModuleRecord::innerModuleLinking):
* Source/JavaScriptCore/runtime/AbstractModuleRecord.h:
* Source/JavaScriptCore/runtime/Completion.cpp:
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
(JSC::linkAndEvaluateModule):
(JSC::importModule):
* Source/JavaScriptCore/runtime/Completion.h:
* Source/JavaScriptCore/runtime/CyclicModuleRecord.cpp:
(JSC::CyclicModuleRecord::initializeEnvironment):
(JSC::CyclicModuleRecord::link):
* Source/JavaScriptCore/runtime/CyclicModuleRecord.h:
* Source/JavaScriptCore/runtime/GlobalObjectMethodTable.h:
* Source/JavaScriptCore/runtime/JSMicrotask.cpp:
(JSC::moduleRegistryFetchSettled):
(JSC::moduleRegistryModuleSettled):
(JSC::moduleLoadStep):
(JSC::moduleLoadTopSettled):
(JSC::moduleLoadTopRejected):
(JSC::moduleLoadStoreError):
(JSC::dynamicImportLoadSettled):
* Source/JavaScriptCore/runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::dependencyKeysIfEvaluated):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):
(JSC::JSModuleLoader::importModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::JSModuleLoader::createImportMetaProperties):
(JSC::JSModuleLoader::evaluate):
(JSC::JSModuleLoader::evaluateNonVirtual):
(JSC::JSModuleLoader::hostLoadImportedModule):
(JSC::JSModuleLoader::innerModuleLoading):
(JSC::JSModuleLoader::finishLoadingImportedModule):
(JSC::JSModuleLoader::continueModuleLoading):
(JSC::JSModuleLoader::continueDynamicImport):
(JSC::JSModuleLoader::loadRequestedModules):
(JSC::JSModuleLoader::ensureRegistered):
(JSC::getFetchType): Deleted.
* Source/JavaScriptCore/runtime/JSModuleLoader.h:
* Source/JavaScriptCore/runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::execute):
* Source/JavaScriptCore/runtime/JSScriptFetchParameters.cpp: Removed.
* Source/JavaScriptCore/runtime/JSScriptFetchParameters.h: Removed.
* Source/JavaScriptCore/runtime/JSScriptFetchParametersInlines.h: Removed.
* Source/JavaScriptCore/runtime/JSScriptFetcher.cpp: Removed.
* Source/JavaScriptCore/runtime/JSScriptFetcher.h: Removed.
* Source/JavaScriptCore/runtime/JSScriptFetcherInlines.h: Removed.
* Source/JavaScriptCore/runtime/JSType.cpp:
(WTF::printInternal):
* Source/JavaScriptCore/runtime/JSType.h:
* Source/JavaScriptCore/runtime/ModuleGraphLoadingState.cpp:
(JSC::ModuleGraphLoadingState::ModuleGraphLoadingState):
(JSC::ModuleGraphLoadingState::visitChildrenImpl):
(JSC::ModuleGraphLoadingState::create):
(JSC::ModuleGraphLoadingState::scriptFetcher const):
(JSC::ModuleGraphLoadingState::setPendingModulesCount):
(JSC::ModuleGraphLoadingState::setIsLoading):
(JSC::ModuleGraphLoadingState::pendingModulesCount): Deleted.
(JSC::ModuleGraphLoadingState::isLoading): Deleted.
(JSC::ModuleGraphLoadingState::scriptFetcher):
* Source/JavaScriptCore/runtime/ModuleGraphLoadingState.h:
* Source/JavaScriptCore/runtime/ModuleLoadingContext.cpp:
(JSC::ModuleLoadingContext::ModuleLoadingContext):
(JSC::ModuleLoadingContext::create):
(JSC::ModuleLoadingContext::visitChildrenImpl):
* Source/JavaScriptCore/runtime/ModuleLoadingContext.h:
* Source/JavaScriptCore/runtime/ModuleRegistryEntry.cpp:
(JSC::ModuleRegistryEntry::ModuleRegistryEntry):
(JSC::ModuleRegistryEntry::visitChildrenImpl):
(JSC::ModuleRegistryEntry::create):
(JSC::ModuleRegistryEntry::setRecord):
(JSC::ModuleRegistryEntry::setLoadPromise):
(JSC::ModuleRegistryEntry::setFetchError):
(JSC::ModuleRegistryEntry::setInstantiationError):
(JSC::ModuleRegistryEntry::setEvaluationError):
(JSC::ModuleRegistryEntry::setStatus):
(JSC::ModuleRegistryEntry::record): Deleted.
(JSC::ModuleRegistryEntry::loadPromise): Deleted.
(JSC::ModuleRegistryEntry::fetchError): Deleted.
(JSC::ModuleRegistryEntry::instantiationError): Deleted.
(JSC::ModuleRegistryEntry::evaluationError): Deleted.
(JSC::ModuleRegistryEntry::status): Deleted.
* Source/JavaScriptCore/runtime/ModuleRegistryEntry.h:
* Source/JavaScriptCore/runtime/SyntheticModuleRecord.cpp:
(JSC::SyntheticModuleRecord::link):
* Source/JavaScriptCore/runtime/SyntheticModuleRecord.h:
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::visitAggregateImpl):
* Source/JavaScriptCore/runtime/VM.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::initializeImports):
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.h:
* Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::moduleLoaderResolve):
(WebCore::JSDOMGlobalObject::moduleLoaderFetch):
(WebCore::JSDOMGlobalObject::moduleLoaderEvaluate):
(WebCore::JSDOMGlobalObject::moduleLoaderImportModule):
(WebCore::JSDOMGlobalObject::moduleLoaderCreateImportMetaProperties):
* Source/WebCore/bindings/js/JSDOMGlobalObject.h:
* Source/WebCore/bindings/js/JSExecState.h:
(WebCore::JSExecState::loadModule):
(WebCore::JSExecState::linkAndEvaluateModule):
* Source/WebCore/bindings/js/ScriptController.cpp:
(WebCore::ScriptController::loadModuleScriptInWorld):
(WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld):
* Source/WebCore/bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::resolve):
(WebCore::ScriptModuleLoader::fetch):
(WebCore::ScriptModuleLoader::evaluate):
(WebCore::ScriptModuleLoader::importModule):
(WebCore::ScriptModuleLoader::createImportMetaProperties):
* Source/WebCore/bindings/js/ScriptModuleLoader.h:
* Source/WebCore/workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
(WebCore::WorkerOrWorkletScriptController::linkAndEvaluateModule):
(WebCore::WorkerOrWorkletScriptController::loadAndEvaluateModule):
Canonical link: https://commits.webkit.org/311602@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications