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

Reply via email to