Merge pull request from GHSA-wh6w-3828-g9qf
* Unconditionally use `MemoryImageSlot` This commit removes the internal branching within the pooling instance allocator to sometimes use a `MemoryImageSlot` and sometimes now. Instead this is now unconditionally used in all situations on all platforms. This fixes an issue where the state of a slot could get corrupted if modules being instantiated switched from having images to not having an image or vice versa. The bulk of this commit is the removal of the `memory-init-cow` compile-time feature in addition to adding Windows support to the `cow.rs` file. * Fix compile on Unix * Add a stricter assertion for static memory bounds Double-check that when a memory is allocated the configuration required is satisfied by the pooling allocator.
This commit is contained in:
@@ -25,5 +25,4 @@ default = [
|
||||
"wasmtime/parallel-compilation",
|
||||
]
|
||||
pooling-allocator = []
|
||||
memory-init-cow = []
|
||||
component-model = []
|
||||
|
||||
@@ -218,7 +218,6 @@ pub struct CommonOptions {
|
||||
|
||||
/// Disable the default of attempting to initialize linear memory via a
|
||||
/// copy-on-write mapping
|
||||
#[cfg(feature = "memory-init-cow")]
|
||||
#[clap(long)]
|
||||
pub disable_memory_init_cow: bool,
|
||||
|
||||
@@ -324,7 +323,6 @@ impl CommonOptions {
|
||||
|
||||
config.epoch_interruption(self.epoch_interruption);
|
||||
config.generate_address_map(!self.disable_address_map);
|
||||
#[cfg(feature = "memory-init-cow")]
|
||||
config.memory_init_cow(!self.disable_memory_init_cow);
|
||||
|
||||
#[cfg(feature = "pooling-allocator")]
|
||||
|
||||
Reference in New Issue
Block a user