[webkit-changes] [WebKit/WebKit] f958a5: Fix assumed alignment of 128-bit Widths
EWS
noreply at github.com
Wed Nov 30 12:53:34 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f958a5f2b00b9ed097be2b8602f7a574b9ded447
https://github.com/WebKit/WebKit/commit/f958a5f2b00b9ed097be2b8602f7a574b9ded447
Author: David Degazio <d_degazio at apple.com>
Date: 2022-11-30 (Wed, 30 Nov 2022)
Changed paths:
A JSTests/wasm/stress/simd-return-value-alignment.js
M Source/JavaScriptCore/jit/RegisterAtOffsetList.cpp
M Source/JavaScriptCore/jit/Width.h
Log Message:
-----------
Fix assumed alignment of 128-bit Widths
https://bugs.webkit.org/show_bug.cgi?id=248481
rdar://102515450
Reviewed by Yusuke Suzuki.
Currently, when building a RegisterAtOffsetList, the required alignment of each
register's value is assumed to be the size of the register. However, in our current
WebAssembly SIMD implementation, vectors are only aligned to multiples of eight
bytes. This patch adds a new alignmentForWidth function to the Width header so we
can control alignment independently from register size and properly represent how
SIMD registers are treated.
* JSTests/wasm/stress/simd-return-value-alignment.js: Added.
(type.0.result.i32.local.v128.i32.const.42.v128.const.i32x4.0x00000000.0x00000000.0x00000000.0x00000000.local.0.export.string_appeared_here.func.0.async test):
* Source/JavaScriptCore/jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
* Source/JavaScriptCore/jit/Width.h:
(JSC::alignmentForWidth):
Canonical link: https://commits.webkit.org/257192@main
More information about the webkit-changes
mailing list