Code review feedback changes.
* Add `anyhow` dependency to `wasmtime-runtime`. * Revert `get_data` back to `fn`. * Remove `DataInitializer` and box the data in `Module` translation instead. * Improve comments on `MemoryInitialization`. * Remove `MemoryInitialization::OutOfBounds` in favor of proper bulk memory semantics. * Use segmented memory initialization except for when the uffd feature is enabled on Linux. * Validate modules with the allocator after translation. * Updated various functions in the runtime to return `anyhow::Result`. * Use a slice when copying pages instead of `ptr::copy_nonoverlapping`. * Remove unnecessary casts in `OnDemandAllocator::deallocate`. * Better document the `uffd` feature. * Use WebAssembly page-sized pages in the paged initialization. * Remove the stack pool from the uffd handler and simply protect just the guard pages.
This commit is contained in:
@@ -48,7 +48,10 @@ fn memory_limit() -> Result<()> {
|
||||
// Module should fail to validate because the minimum is greater than the configured limit
|
||||
match Module::new(&engine, r#"(module (memory 4))"#) {
|
||||
Ok(_) => panic!("module compilation should fail"),
|
||||
Err(e) => assert_eq!(e.to_string(), "Validation error: memory index 0 has a minimum page size of 4 which exceeds the limit of 3")
|
||||
Err(e) => assert_eq!(
|
||||
e.to_string(),
|
||||
"memory index 0 has a minimum page size of 4 which exceeds the limit of 3"
|
||||
),
|
||||
}
|
||||
|
||||
let module = Module::new(
|
||||
@@ -243,7 +246,10 @@ fn table_limit() -> Result<()> {
|
||||
// Module should fail to validate because the minimum is greater than the configured limit
|
||||
match Module::new(&engine, r#"(module (table 31 funcref))"#) {
|
||||
Ok(_) => panic!("module compilation should fail"),
|
||||
Err(e) => assert_eq!(e.to_string(), "Validation error: table index 0 has a minimum element size of 31 which exceeds the limit of 10")
|
||||
Err(e) => assert_eq!(
|
||||
e.to_string(),
|
||||
"table index 0 has a minimum element size of 31 which exceeds the limit of 10"
|
||||
),
|
||||
}
|
||||
|
||||
let module = Module::new(
|
||||
|
||||
Reference in New Issue
Block a user