Closed fitzgen closed 3 weeks ago
cc @fitzgen
.github/subscribe-to-label.json
configuration file.
[Learn more.](https://github.com/bytecodealliance/subscribe-to-label-action)
It looks like you are changing Wasmtime's configuration options. Make sure to complete this check list:
[x] If you added a new Config
method, you wrote extensive documentation for
it.
[x] If you added a new Config
method, or modified an existing one, you
ensured that this configuration is exercised by the fuzz targets.
[x] If you are enabling a configuration option by default, make sure that it has been fuzzed for at least two weeks before turning it on by default.
.github/label-messager/wasmtime-config.md
file.
To add new label messages or remove existing label messages, edit the
.github/label-messager.json
configuration file.
[Learn more.](https://github.com/bytecodealliance/label-messager-action)
I believe all review feedback has been addressed at this point.
oh my god this CI failure is driving me crazy:
error: unused import: `prelude::*`
--> crates\wasmtime\src\runtime\vm.rs:14:5
|
14 | prelude::*, DefinedFuncIndex, DefinedMemoryIndex, HostPtr, ModuleInternedTypeIndex, VMOffsets,
| ^^^^^^^^^^
|
= note: `-D unused-imports` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_imports)]`
If I remove that import, then all the err2anyhow()
calls break. I've tried with all sorts of different cfg
s and I can't reproduce locally, even when I copy the ./ci/run-tests.sh
invocation from CI.
I have no idea why it thinks this is unused, AFAICT, it is definitely used.
This commit adds support for the custom-page-sizes proposal to Wasmtime: https://github.com/WebAssembly/custom-page-sizes
I've migrated, fixed some bugs within, and extended the
*.wast
tests for this proposal from thewasm-tools
repository. I intend to upstream them into the proposal shortly.There is a new
wasmtime::Config::wasm_custom_page_sizes_proposal
method to enable or disable the proposal. It is disabled by default.Our fuzzing config has been updated to turn this feature on/off as dictated by the arbitrary input given to us from the fuzzer.
Additionally, there were getting to be so many constructors for
wasmtime::MemoryType
that I added a builder rather than add yet another constructor.In general, we store the
log2(page_size)
rather than the page size directly. This helps cut down on invalid states and properties we need to assert.I've also intentionally written this code such that supporting any power of two page size (rather than just the exact values
1
and65536
that are currently valid) will essentially just involve updatingwasmparser
's validation and removing some debug asserts in Wasmtime.