[wasm-split] Support table64#7904
Merged
aheejin merged 2 commits intoWebAssembly:mainfrom Sep 18, 2025
Merged
Conversation
This makes wasm using table64 (included in memory64) can be used in wasm-split. To be strict we should use different data types than `Index`, which is `uint32_t`; for memory64 we use `Address` class to represent the address. But it is unlikely that table indices would ever go above `uint32_t` range, and we are not even sure if engines support that many. To be strict we should be using `Address` for table indices as well, but the use of `Index` for table indices is currently not only limited to module-splitting utils, so I think we can cross that bridge when it becomes really necessary. Fixes WebAssembly#7716.
tlively
approved these changes
Sep 18, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This makes wasm using table64 (included in memory64) can be used in wasm-split.
To be strict we should use different data types than
Index, which isuint32_t; for memory64 we useAddressclass to represent the address. But it is unlikely that table indices would ever go aboveuint32_trange, and we are not even sure if engines support that many. We can consider usingAddressfor table indices, but the use ofIndexfor table indices is currently not only limited to module-splitting utils, so I think we can cross that bridge when it becomes really necessary.Note that when creating a new table, we don't create it as an i64 table even if memory64 is enabled, because it is not necessary. We only deal with existing i64 tables.
Fixes #7716.