Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6cc8cf35745f32def288fac14687aefc8ac86e6a
      
https://github.com/WebKit/WebKit/commit/6cc8cf35745f32def288fac14687aefc8ac86e6a
  Author: Cole Carley <[email protected]>
  Date:   2026-06-26 (Fri, 26 Jun 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/address64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/bulk64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/float_memory64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_copy64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_init64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_trap64.wast.js-expected.txt
    M Source/JavaScriptCore/wasm/WasmFormat.h
    M Source/JavaScriptCore/wasm/WasmParser.h
    M Source/JavaScriptCore/wasm/WasmSectionParser.cpp
    M Source/JavaScriptCore/wasm/WasmSectionParser.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp

  Log Message:
  -----------
  [Memory64] Fix parsing data segment init exprs
https://bugs.webkit.org/show_bug.cgi?id=317794
rdar://180563067

Reviewed by Keith Miller.

Pasring for data segment init expressions did not
support Memory64.

I fixed this by widening the bits in the I32InitExpr from a
uint32_t to a uint64_t. I aliased I32IntExpr to I64InitExpr
because they use the same structure, but sometimes it's useful
to refer to them differently.

I added a path for parsing an I64 instead of an I32 in
SectionParser::parseData when the memory is 64 bits.

This fixes a large number of WPT tests that were failing
due to the type mismatch during the parsing phase.

* Source/JavaScriptCore/wasm/WasmFormat.h:
(JSC::Wasm::I32InitExpr::I32InitExpr):
(JSC::Wasm::I32InitExpr::globalImport):
(JSC::Wasm::I32InitExpr::constValue):
(JSC::Wasm::I32InitExpr::extendedExpression):
(JSC::Wasm::I32InitExpr::constValue const):
(JSC::Wasm::I32InitExpr::globalImportIndex const):
(JSC::Wasm::I32InitExpr::constantExpressionIndex const):
* Source/JavaScriptCore/wasm/WasmParser.h:
(JSC::Wasm::makeI32InitExpr):
(JSC::Wasm::makeI64InitExpr):
* Source/JavaScriptCore/wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseI64InitExpr):
(JSC::Wasm::SectionParser::parseI64InitExprForDataSection):
(JSC::Wasm::SectionParser::parseData):
* Source/JavaScriptCore/wasm/WasmSectionParser.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::evaluate):

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



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

Reply via email to