Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 958d1de8af7b3bea8e5df94bcf029935abc7b3e0
https://github.com/WebKit/WebKit/commit/958d1de8af7b3bea8e5df94bcf029935abc7b3e0
Author: David Degazio <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes