Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8579516f4b614767454617d0a4fcd6f3261b04f4
      
https://github.com/WebKit/WebKit/commit/8579516f4b614767454617d0a4fcd6f3261b04f4
  Author: Dan Hecht <[email protected]>
  Date:   2026-01-14 (Wed, 14 Jan 2026)

  Changed paths:
    A JSTests/wasm/gc/wasm-js-marshal-i31-return.js
    M Source/JavaScriptCore/wasm/WasmOperations.cpp

  Log Message:
  -----------
  [JSC] Fix JIT-less Wasm-to-JS i31ref, anyref, eqref marshalling of i31 values
https://bugs.webkit.org/show_bug.cgi?id=305485
rdar://164144482

Reviewed by Justin Michaud.

When a JS function is imported to wasm and returns an i31ref or
anyref/eqref with an i31 value, the JIT-less marshalling code was
converting legal i31 number JSValues to Int32 format for validation, but
not actually returning that reformatted value back. So if the
value was in double format, the i31 value would be incorrect.
Fix this by writing back the converted value.

Test: JSTests/wasm/gc/wasm-js-marshal-i31-return.js
Canonical link: https://commits.webkit.org/305595@main



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

Reply via email to