Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5c8bc53f18f94add32ef085f8a6799c74343e99a
https://github.com/WebKit/WebKit/commit/5c8bc53f18f94add32ef085f8a6799c74343e99a
Author: Yusuke Suzuki <[email protected]>
Date: 2025-08-12 (Tue, 12 Aug 2025)
Changed paths:
M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
M Source/JavaScriptCore/wasm/js/JSWebAssemblyArray.h
M Source/JavaScriptCore/wasm/js/JSWebAssemblyArrayInlines.h
M Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.h
Log Message:
-----------
[JSC] Inline WasmGC object allocations in OMG
https://bugs.webkit.org/show_bug.cgi?id=244388
rdar://99488201
Reviewed by Keith Miller.
This patch adds inlined fast paths for WasmGC object allocations (WasmGC
array and struct) in OMG. We had this in BBQ, but not adding it into OMG
yet. Basically it is following to what FTL and BBQ are doing.
1. Getting allocators from Wasm Instnace, this is aligned to BBQ's fast
path.
2. Doing some folding and optimizations similar to FTL's allocation
path.
* Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp:
(JSC::Wasm::OMGIRGenerator::allocateWasmGCArray):
(JSC::Wasm::OMGIRGenerator::addArrayNew):
(JSC::Wasm::OMGIRGenerator::addArrayNewDefault):
(JSC::Wasm::OMGIRGenerator::addArrayNewFixed):
(JSC::Wasm::OMGIRGenerator::emitArraySetUncheckedWithoutWriteBarrier):
(JSC::Wasm::OMGIRGenerator::emitArraySetUnchecked):
(JSC::Wasm::OMGIRGenerator::addStructNew):
(JSC::Wasm::OMGIRGenerator::addStructNewDefault):
(JSC::Wasm::OMGIRGenerator::encodeStructureID):
(JSC::Wasm::OMGIRGenerator::allocatorForWasmGCHeapCellSize):
(JSC::Wasm::OMGIRGenerator::allocateWasmGCHeapCell):
(JSC::Wasm::OMGIRGenerator::allocateWasmGCObject):
(JSC::Wasm::OMGIRGenerator::allocateWasmGCArrayUninitialized):
(JSC::Wasm::OMGIRGenerator::allocateWasmGCStructUninitialized):
(JSC::Wasm::OMGIRGenerator::mutatorFence):
(JSC::Wasm::OMGIRGenerator::pushArrayNew): Deleted.
* Source/JavaScriptCore/wasm/js/JSWebAssemblyArray.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyArrayInlines.h:
(JSC::JSWebAssemblyArray::typeInfoBlob):
* Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.h:
(JSC::JSWebAssemblyStruct::typeInfoBlob):
Canonical link: https://commits.webkit.org/298551@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes