Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 958d1de8af7b3bea8e5df94bcf029935abc7b3e0 https://github.com/WebKit/WebKit/commit/958d1de8af7b3bea8e5df94bcf029935abc7b3e0 Author: David Degazio <d_dega...@apple.com> Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths: M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp Log Message: ----------- [WASM] Compute B3 effect ranges for memory and global ops in OMG https://bugs.webkit.org/show_bug.cgi?id=276504 rdar://problem/131562611 Reviewed by Keith Miller, Justin Michaud and Yusuke Suzuki. Adds an AbstractHeap notion to the OMG tier to represent ranges of effects. We compute distinct HeapRanges associated with each of these heaps after compilation, and pass them along to B3 in order to help with CSE and potentially hoisting. This initial patch defines abstract heap kinds for globals, WASM memory, and the fields of a variety of WASM structures such as the instance or tables. We should consider adding more later for things like GC types or the JS API, and/or introduce a parent/child system for AbstractHeaps like we have in FTL. * Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp: (JSC::Wasm::OMGIRGenerator::AbstractHeap::AbstractHeap): (JSC::Wasm::OMGIRGenerator::recordHeap): (JSC::Wasm::OMGIRGenerator::computeHeapRanges): (JSC::Wasm::OMGIRGenerator::emitPrepareWasmOperation): (JSC::Wasm::OMGIRGenerator::insertConstants): (JSC::Wasm::OMGIRGenerator::addCurrentMemory): (JSC::Wasm::OMGIRGenerator::getGlobal): (JSC::Wasm::OMGIRGenerator::setGlobal): (JSC::Wasm::OMGIRGenerator::emitWriteBarrierForJSWrapper): (JSC::Wasm::OMGIRGenerator::emitLoadOp): (JSC::Wasm::OMGIRGenerator::load): (JSC::Wasm::OMGIRGenerator::emitStoreOp): (JSC::Wasm::OMGIRGenerator::emitAtomicLoadOp): (JSC::Wasm::OMGIRGenerator::emitAtomicStoreOp): (JSC::Wasm::OMGIRGenerator::emitAtomicBinaryRMWOp): (JSC::Wasm::OMGIRGenerator::emitAtomicCompareExchange): (JSC::Wasm::OMGIRGenerator::addSIMDLoad): (JSC::Wasm::OMGIRGenerator::addSIMDStore): (JSC::Wasm::OMGIRGenerator::addSIMDLoadSplat): (JSC::Wasm::OMGIRGenerator::addSIMDLoadLane): (JSC::Wasm::OMGIRGenerator::addSIMDStoreLane): (JSC::Wasm::OMGIRGenerator::addSIMDLoadExtend): (JSC::Wasm::OMGIRGenerator::addSIMDLoadPad): (JSC::Wasm::OMGIRGenerator::emitInlineDirectCall): (JSC::Wasm::OMGIRGenerator::addCall): (JSC::Wasm::OMGIRGenerator::addCallIndirect): (JSC::Wasm::parseAndCompileOMG): Canonical link: https://commits.webkit.org/281143@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