Skip to content

Commit 1015ad6

Browse files
committed
Use TryPrimaryMap in ModuleMemoryImages
Also use `try_new::<Arc<_>>` instead of `Arc::new` for the memory image allocations.
1 parent f0a7e28 commit 1015ad6

File tree

1 file changed

+6
-5
lines changed
  • crates/wasmtime/src/runtime/vm

1 file changed

+6
-5
lines changed

crates/wasmtime/src/runtime/vm/cow.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ use crate::runtime::vm::{
1111
use alloc::sync::Arc;
1212
use core::fmt;
1313
use core::ops::Range;
14-
use wasmtime_environ::{DefinedMemoryIndex, MemoryInitialization, Module, PrimaryMap, Tunables};
14+
use wasmtime_environ::{DefinedMemoryIndex, MemoryInitialization, Module, Tunables};
15+
use wasmtime_environ::prelude::TryPrimaryMap;
1516

1617
/// Backing images for memories in a module.
1718
///
1819
/// This is meant to be built once, when a module is first loaded/constructed,
1920
/// and then used many times for instantiation.
2021
pub struct ModuleMemoryImages {
21-
memories: PrimaryMap<DefinedMemoryIndex, Option<Arc<MemoryImage>>>,
22+
memories: TryPrimaryMap<DefinedMemoryIndex, Option<Arc<MemoryImage>>>,
2223
}
2324

2425
impl ModuleMemoryImages {
@@ -179,7 +180,7 @@ impl ModuleMemoryImages {
179180
MemoryInitialization::Static { map } => map,
180181
_ => return Ok(None),
181182
};
182-
let mut memories = PrimaryMap::with_capacity(map.len());
183+
let mut memories = TryPrimaryMap::with_capacity(map.len())?;
183184
let page_size = crate::runtime::vm::host_page_size();
184185
let page_size = u32::try_from(page_size).unwrap();
185186
for (memory_index, init) in map {
@@ -196,7 +197,7 @@ impl ModuleMemoryImages {
196197
let init = match init {
197198
Some(init) => init,
198199
None => {
199-
memories.push(None);
200+
memories.push(None)?;
200201
continue;
201202
}
202203
};
@@ -233,7 +234,7 @@ impl ModuleMemoryImages {
233234
None => return Ok(None),
234235
};
235236

236-
let idx = memories.push(Some(Arc::new(image)));
237+
let idx = memories.push(Some(try_new::<Arc<_>>(image)?))?;
237238
assert_eq!(idx, defined_memory);
238239
}
239240

0 commit comments

Comments
 (0)