[webkit-changes] [WebKit/WebKit] 4d8c1e: BBQ OSR should count try exceptions only in IPInt OSR

Commit Queue noreply at github.com
Thu Feb 6 13:36:12 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4d8c1e151637febc0fa05fcbb3c709bae3c27c3a
      https://github.com/WebKit/WebKit/commit/4d8c1e151637febc0fa05fcbb3c709bae3c27c3a
  Author: Daniel Liu <daniel_liu4 at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A JSTests/wasm/stress/ipint-bbq-osr-with-try.js
    A JSTests/wasm/stress/ipint-bbq-osr-with-try2.js
    A JSTests/wasm/stress/ipint-bbq-osr-with-try3.js
    A JSTests/wasm/stress/ipint-bbq-osr-with-try4.js
    A JSTests/wasm/stress/ipint-bbq-osr-with-try5.js
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp

  Log Message:
  -----------
  BBQ OSR should count try exceptions only in IPInt OSR
https://bugs.webkit.org/show_bug.cgi?id=286960
rdar://144077240

Reviewed by Yijia Huang.

Previously, we fixed the issue of an incorrect stackmap exception slot count by
updating the definition of implicitSlots. However, this leads to issues later on
in BBQ, since this calculation leads to incorrect offsets and indexing out of bounds.
This patch fixes that issue by only counting the exception slot when calculating
the IPInt->BBQ stackmap, and otherwise using the original counting for implicit slots.

* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::ControlData::implicitSlots const):
(JSC::Wasm::BBQJITImpl::BBQJIT::makeStackMap):

Canonical link: https://commits.webkit.org/289960@main



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


More information about the webkit-changes mailing list