Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 141fda8db93d166c18a50dca5231c9c4cd6db1ac
      
https://github.com/WebKit/WebKit/commit/141fda8db93d166c18a50dca5231c9c4cd6db1ac
  Author: Keith Miller <[email protected]>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.h
    M Source/WTF/wtf/BitVector.h

  Log Message:
  -----------
  Wasm CalleeGroup caller matrix should be sparse until its more efficient to 
be dense
https://bugs.webkit.org/show_bug.cgi?id=282568
rdar://139241408

Reviewed by Yusuke Suzuki.

This patch fixes a significant memory growth for Wasm modules that have a large 
number of functions.
Since the caller matrix was previously dense (stored as a FixedBitVector) we 
could allocate a huge
matrix for such modules. This patch makes the caller graph sparse until it 
becomes more efficient
to make it dense. For a test site with 270000 functions this brings the memory 
footprint from
8-8.5GB to ~1GB.

* Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::CalleeGroup):
(JSC::Wasm::CalleeGroup::updateCallsitesToCallUs):
(JSC::Wasm::CalleeGroup::reportCallees):
* Source/JavaScriptCore/wasm/WasmCalleeGroup.h:
* Source/WTF/wtf/BitVector.h:

Canonical link: https://commits.webkit.org/286131@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

Reply via email to