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

Reply via email to