Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5c8bc53f18f94add32ef085f8a6799c74343e99a https://github.com/WebKit/WebKit/commit/5c8bc53f18f94add32ef085f8a6799c74343e99a Author: Yusuke Suzuki <ysuz...@apple.com> 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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes