[webkit-changes] [WebKit/WebKit] 400ec9: [Wasm-GC] Generate correct LLInt code for structs ...

Tim Chevalier noreply at github.com
Mon Mar 20 18:19:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 400ec97f086fbbdbc2a4233c5a7a2bb64d721746
      https://github.com/WebKit/WebKit/commit/400ec97f086fbbdbc2a4233c5a7a2bb64d721746
  Author: Tim Chevalier <tjc at igalia.com>
  Date:   2023-03-20 (Mon, 20 Mar 2023)

  Changed paths:
    A JSTests/wasm/gc/bug252538.js
    M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmOperationsInlines.h

  Log Message:
  -----------
  [Wasm-GC] Generate correct LLInt code for structs containing reference types
https://bugs.webkit.org/show_bug.cgi?id=252538

Reviewed by Justin Michaud.

The LLInt generated code for `addStructNew` only worked if the struct
initializers weren't on the stack, as it overwrote live stack slots.
Fixed it to not overwrite live data.

* JSTests/wasm/gc/bug252538.js: Added.
(module):
(testStructOfInts):
(testStructDeclaration):
* Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::addStructNew):
* Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
(JSC::Wasm::structNew):

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




More information about the webkit-changes mailing list