Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d202bedc5ff6a3256f6de16f842ff12a48f0fcac
https://github.com/WebKit/WebKit/commit/d202bedc5ff6a3256f6de16f842ff12a48f0fcac
Author: Cole Carley <[email protected]>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M JSTests/wasm/stress/table64-bulk.js
M JSTests/wasm/stress/table64-call-indirect.js
M JSTests/wasm/stress/table64-get-and-set.js
M JSTests/wasm/stress/table64-grow-and-size.js
M JSTests/wasm/stress/table64-overflow.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_copy64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_fill64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_get64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_grow64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_init64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_set64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_size64.wast.js
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/address64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/align64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/binary_leb128_64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/bulk64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/call_indirect64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/endianness64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/float_memory64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/load64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64-imports.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_copy64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_fill64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_grow64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_init64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_redundancy64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_trap64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_copy64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_copy_mixed.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_fill64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_get64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_grow64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_init64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_set64.wast.js.html
M
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_size64.wast.js.html
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp
M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp
M Source/JavaScriptCore/wasm/WasmOperations.cpp
M Source/JavaScriptCore/wasm/WasmOperations.h
M Source/JavaScriptCore/wasm/WasmOperationsInlines.h
M Source/JavaScriptCore/wasm/WasmTable.cpp
M Source/JavaScriptCore/wasm/WasmTable.h
Log Message:
-----------
[Memory64] Implement Table64 in the BBQ tier
https://bugs.webkit.org/show_bug.cgi?id=319924
rdar://182851267
Reviewed by Keith Miller.
This patch introduces support for Table64 in the BBQ tier. Most of the table
functions in the BBQ tier are just C calls to wasmOperations.h functions, so
a lot of this patch is fixing asserts and argument types when passing values
from BBQ to C++ land.
* JSTests/wasm/stress/table64-bulk.js:
* JSTests/wasm/stress/table64-call-indirect.js:
* JSTests/wasm/stress/table64-get-and-set.js:
* JSTests/wasm/stress/table64-grow-and-size.js:
* JSTests/wasm/stress/table64-overflow.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_copy64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_fill64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_get64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_grow64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_init64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_set64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/memory64/table_size64.wast.js:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/address64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/align64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/binary_leb128_64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/bulk64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/call_indirect64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/endianness64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/float_memory64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/load64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64-imports.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_copy64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_fill64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_grow64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_init64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_redundancy64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory_trap64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_copy64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_copy_mixed.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_fill64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_get64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_grow64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_init64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_set64.wast.js.html:
*
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_size64.wast.js.html:
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableSet):
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableInit):
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableSize):
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableGrow):
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableFill):
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableCopy):
(JSC::Wasm::BBQJITImpl::BBQJIT::addCallIndirect):
* Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addTableGet):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_NOEXCEPT_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmOperations.h:
* Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
(JSC::Wasm::tableGet):
(JSC::Wasm::tableSet):
(JSC::Wasm::tableInit):
(JSC::Wasm::tableFill):
(JSC::Wasm::tableGrow):
(JSC::Wasm::tableCopy):
* Source/JavaScriptCore/wasm/WasmTable.cpp:
(JSC::Wasm::Table::grow):
* Source/JavaScriptCore/wasm/WasmTable.h:
(JSC::Wasm::Table::isValidLength):
Canonical link: https://commits.webkit.org/318016@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications