[Custom Page Sizes] Feature/support custom pages size#7694
[Custom Page Sizes] Feature/support custom pages size#7694BilelGho wants to merge 2 commits intoWebAssembly:mainfrom
Conversation
kripken
left a comment
There was a problem hiding this comment.
Some initial comments. General direction looks good.
|
Sorry, when I pushed this I wasn't aware of the trsting structure and didn't pay attention how to run it. I am currently working on making all the tests run and will push changes once done. |
92baf35 to
89ae10f
Compare
04bee60 to
47f0b6d
Compare
|
Tests working now. Most of the edits are straightforward and are about extending the core Memory interface to include a memory page size, stored as a log2 and updating the parser, validator, binary reader/writer, interpreter, the wasm2js glue, and related passes. Most of the changes in the passes involved supporting a variable page size, whose size is provided and stored as a log2. The pass that involved some change in the logic is the multi-memory lowering. The combined memory would have the minimum page size of the memories to be unified. memory.grow and memory.size implementations are adapted accordingly. The secondary memory created in Tests from the proposal are added. However, due to lacking linking verification at instantiation in the interpreter, some tests with invalid modules that were expected to failed did not and therefore are skipped in the configuration. |
kripken
left a comment
There was a problem hiding this comment.
Sorry for the late review, here are some initial comments.
47f0b6d to
a0710b9
Compare
a0710b9 to
5f2a362
Compare
|
@BilelGho, do you have time to continue this work? We have had a request that emscripten supports custom page sizes which in turn requires this PR to land: emscripten-core/emscripten#25885 |
This implements the feature across the toolchain by adding the page size as an attribute of the memory instead of a constant.
I added the tests from the proposal repo to spec/test (not sure if it was the right move)
Fixes: #6873