[webkit-changes] [WebKit/WebKit] 0df23a: [JSC][32-bit] Wasm callee pointer should not be in...
jjgriego
noreply at github.com
Fri Jan 6 17:12:22 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0df23a961475d940636c2989ac7fd6b858157390
https://github.com/WebKit/WebKit/commit/0df23a961475d940636c2989ac7fd6b858157390
Author: Joseph Griego <jgriego at igalia.com>
Date: 2023-01-06 (Fri, 06 Jan 2023)
Changed paths:
M Source/JavaScriptCore/llint/WebAssembly.asm
Log Message:
-----------
[JSC][32-bit] Wasm callee pointer should not be incorrectly untagged
https://bugs.webkit.org/show_bug.cgi?id=250219
Reviewed by Justin Michaud.
After https://github.com/WebKit/WebKit/pull/8138, the untag code in the LLInt
wasm prologue was changed to use `~WasmTag` as a mask; which on 32-bit ends up
having most bits unset, effectively zeroing out the callee pointer, breaking a
big chunk of the test suite on armv7.
The old version of this untag code used `~3` as the mask which happened to work
for all platforms.
Fix this by emitting the untag instruction only for the 64-bit JSValue
representation, since for JSVALUE32_64 platforms, the callee pointer is untagged
anyways.
* Source/JavaScriptCore/llint/WebAssembly.asm:
Canonical link: https://commits.webkit.org/258584@main
More information about the webkit-changes
mailing list