[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