Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 20d1bae11e90cb09967c16480965584fc14b89c6
      
https://github.com/WebKit/WebKit/commit/20d1bae11e90cb09967c16480965584fc14b89c6
  Author: Vignesh Rao <[email protected]>
  Date:   2026-06-30 (Tue, 30 Jun 2026)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmCallee.cpp
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp

  Log Message:
  -----------
  [JSC] Unconditionally keep OMGOSREntryCallee alive while updating its 
callsites
https://bugs.webkit.org/show_bug.cgi?id=313063
rdar://174492346

Reviewed by Keith Miller.

After a re-tier, when a fresh BBQCallee replaces a retired one,
m_osrEntryCallees may hold a stale weak ref to an OMGOSREntryCallee not owned
by the current BBQCallee. Currently, updateCallsitesToCallUs will not track
this since it assumes that this OMGOSREntryCallee will be owned by the BBQCallee

This patch fixes it by unconditionally keeping the
OMGOSREntryCallee alive
while we update all the callsites within it. The assert in ~BBQCallee is void
now since an OMGOSREntryCallee can now have multiple owners.

* Source/JavaScriptCore/wasm/WasmCallee.cpp:
(JSC::Wasm::BBQCallee::~BBQCallee):
* Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::updateCallsitesToCallUs):

Originally-landed-as: 305413.784@safari-7624-branch (84a5f91f00a5). 
rdar://180437899
Canonical link: 
https://flagged.apple.com:443/proxy?t2=DJ4e7e0Yv8&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE2MTMyQG1haW4=&emid=d0791117-792e-47fc-8a95-b0c863b5a355&c=11



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to