Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 008ce40466bc0eaed001cf90db4de76edf65dc01
      
https://github.com/WebKit/WebKit/commit/008ce40466bc0eaed001cf90db4de76edf65dc01
  Author: Sosuke Suzuki <[email protected]>
  Date:   2026-04-26 (Sun, 26 Apr 2026)

  Changed paths:
    A JSTests/wasm/stress/bounds-check-int32-offset-dirty-high-bits.js
    M Source/JavaScriptCore/b3/B3LowerToAir.cpp

  Log Message:
  -----------
  [JSC] OMG should only emit WasmBoundsCheck overflow guard for Int64 pointers
https://bugs.webkit.org/show_bug.cgi?id=313332

Reviewed by Yusuke Suzuki.

311362@main added a 3-arg Air::WasmBoundsCheck that emits a 64-bit
Below(ptrPlusImm, pointer) wrap-around guard. For memory32 the pointer
is an Int32 Tmp whose upper 32 bits are undefined, so the Branch64 can
spuriously jump to the OOB handler in BoundsChecking mode. The sum of a
zero-extended i32 and the offset cannot overflow 64 bits anyway, so
restrict the guard to Int64 pointers.

Test: JSTests/wasm/stress/bounds-check-int32-offset-dirty-high-bits.js

* JSTests/wasm/stress/bounds-check-int32-offset-dirty-high-bits.js: Added.
(async test):
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:

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



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

Reply via email to