Tidy up some internals of instance allocation (#5346)
* Simplify the `ModuleRuntimeInfo` trait slightly Fold two functions into one as they're only called from one location anyway. * Remove ModuleRuntimeInfo::signature This is redundant as the array mapping is already stored within the `VMContext` so that can be consulted rather than having a separate trait function for it. This required altering the `Global` creation slightly to work correctly in this situation. * Remove a now-dead constant * Shared `VMOffsets` across instances This commit removes the computation of `VMOffsets` to being per-module instead of per-instance. The `VMOffsets` structure is also quite large so this shaves off 112 bytes per instance which isn't a huge impact but should help lower the cost of instantiating small modules. * Remove `InstanceAllocator::adjust_tunables` This is no longer needed or necessary with the pooling allocator. * Fix compile warning * Fix a vtune warning * Fix pooling tests * Fix another test warning
This commit is contained in:
@@ -31,11 +31,6 @@ use cranelift_entity::packed_option::ReservedValue;
|
||||
use std::convert::TryFrom;
|
||||
use wasmtime_types::OwnedMemoryIndex;
|
||||
|
||||
/// Sentinel value indicating that wasm has been interrupted.
|
||||
// Note that this has a bit of an odd definition. See the `insert_stack_check`
|
||||
// function in `cranelift/codegen/src/isa/x86/abi.rs` for more information
|
||||
pub const INTERRUPTED: usize = usize::max_value() - 32 * 1024;
|
||||
|
||||
#[cfg(target_pointer_width = "32")]
|
||||
fn cast_to_u32(sz: usize) -> u32 {
|
||||
u32::try_from(sz).unwrap()
|
||||
|
||||
Reference in New Issue
Block a user