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