Skip to content

Commit 7761cdf

Browse files
authored
wast: fix inline data segment resolution (#1993)
* wast: fix inline data segment resolution * bless testsuite
1 parent 70319f5 commit 7761cdf

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

crates/wast/src/core/resolve/deinline_import_export.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@ pub fn run(fields: &mut Vec<ModuleField>) {
5454
page_size_log2,
5555
} => {
5656
let len = data.iter().map(|l| l.len()).sum::<usize>() as u64;
57-
let pages = (len + default_page_size() - 1) / default_page_size();
57+
let page_size = match page_size_log2 {
58+
Some(page_size_log2) => 2_u64.pow(page_size_log2),
59+
None => default_page_size(),
60+
};
61+
let pages = (len + page_size - 1) / page_size;
5862
let kind = MemoryKind::Normal(MemoryType {
5963
limits: Limits {
6064
is64,

tests/snapshots/testsuite/proposals/custom-page-sizes/custom-page-sizes.wast/36.print

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(module
22
(type (;0;) (func (result i32)))
33
(type (;1;) (func (param i32) (result i32)))
4-
(memory (;0;) 1 1 (pagesize 0x1))
4+
(memory (;0;) 3 3 (pagesize 0x1))
55
(export "size" (func 0))
66
(export "grow" (func 1))
77
(export "load" (func 2))

0 commit comments

Comments
 (0)