diff options
| author | Daniel Stuart <daniel.stuart14@gmail.com> | 2024-09-09 19:19:25 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-10 00:19:25 +0200 |
| commit | 3c16adc4e12873802b15d77a8357f56893a9c84f (patch) | |
| tree | 3c592f7546c85f4c95434a0537c7281c8d812019 /crates/parser | |
| parent | ba6a03d6038f8c1e3973879bd23490a86539d2b1 (diff) | |
feat: Custom memory page size (#22)
Diffstat (limited to 'crates/parser')
| -rw-r--r-- | crates/parser/src/conversion.rs | 11 | ||||
| -rw-r--r-- | crates/parser/src/lib.rs | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/crates/parser/src/conversion.rs b/crates/parser/src/conversion.rs index 10607a1..76099ca 100644 --- a/crates/parser/src/conversion.rs +++ b/crates/parser/src/conversion.rs @@ -105,11 +105,12 @@ pub(crate) fn convert_module_memories<T: IntoIterator<Item = wasmparser::Result< } pub(crate) fn convert_module_memory(memory: wasmparser::MemoryType) -> MemoryType { - MemoryType { - arch: if memory.memory64 { MemoryArch::I64 } else { MemoryArch::I32 }, - page_count_initial: memory.initial, - page_count_max: memory.maximum, - } + MemoryType::new( + if memory.memory64 { MemoryArch::I64 } else { MemoryArch::I32 }, + memory.initial, + memory.maximum, + memory.page_size_log2.map(|x| 1 << x), + ) } pub(crate) fn convert_module_tables<'a, T: IntoIterator<Item = wasmparser::Result<wasmparser::Table<'a>>>>( diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs index 5e8f9e0..8c68c64 100644 --- a/crates/parser/src/lib.rs +++ b/crates/parser/src/lib.rs @@ -63,6 +63,7 @@ impl Parser { multi_memory: true, memory64: false, simd: true, + custom_page_sizes: true, gc_types: true, component_model: false, @@ -75,7 +76,6 @@ impl Parser { memory_control: false, relaxed_simd: false, threads: false, - custom_page_sizes: false, shared_everything_threads: false, component_model_multiple_returns: false, legacy_exceptions: false, |
