Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 39de2d4eea61f947ee9ea9d364fc54715a17de84
https://github.com/WebKit/WebKit/commit/39de2d4eea61f947ee9ea9d364fc54715a17de84
Author: Sergey Rubanov <[email protected]>
Date: 2026-08-17 (Mon, 17 Aug 2026)
Changed paths:
A JSTests/wasm/js-api/tag-import-export-identity.js
M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp
M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h
M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
Log Message:
-----------
[JSC][Wasm] Re-exported imported Tag should be the same object
https://bugs.webkit.org/show_bug.cgi?id=321931
Reviewed by Yusuke Suzuki.
Importing a WebAssembly.Tag and re-exporting it should return the same
JS object. Export always created a new wrapper, so === failed.
Remember the imported wrapper and return it from the export object.
Local tags are cached on first export so two export names share one
object.
* JSTests/wasm/js-api/tag-import-export-identity.js: Added.
* Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::visitChildrenImpl):
(JSC::JSWebAssemblyInstance::setTagWrapper):
(JSC::JSWebAssemblyInstance::tagWrapper):
* Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeImports):
(JSC::WebAssemblyModuleRecord::initializeExports):
Canonical link: https://commits.webkit.org/319294@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications