Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7a71bbb85003c03c9da7c85fa194069bc8992095
      
https://github.com/WebKit/WebKit/commit/7a71bbb85003c03c9da7c85fa194069bc8992095
  Author: Sergey Rubanov <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    A JSTests/wasm/stress/data-segment-offset-2gb.js
    M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp

  Log Message:
  -----------
  [JSC][Wasm] Zero-extend memory32 data segment offsets
https://bugs.webkit.org/show_bug.cgi?id=314444

Reviewed by Yusuke Suzuki.

i32.const data offsets are stored in a uint64_t with C++ sign-extension, so
0x80000000 (e.g. Emscripten GLOBAL_BASE=2GB) became 0xffffffff80000000 and
failed active data segment initialization. Treat memory32 offsets as u32
(zero-extend from the i32 bit pattern). Memory64 keeps full i64 offsets and
uses i64 globals / const expressions.

* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
* JSTests/wasm/stress/data-segment-offset-2gb.js: Added.

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



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

Reply via email to