Merge pull request #2821 from alexcrichton/faster-vmoffsets
Precompute fields in `VMOffsets`
This commit is contained in:
@@ -1156,7 +1156,7 @@ mod tests {
|
||||
|
||||
let actual_offset = (next_ptr as usize) - (table_ptr as usize);
|
||||
|
||||
let offsets = wasmtime_environ::VMOffsets {
|
||||
let offsets = wasmtime_environ::VMOffsets::from(wasmtime_environ::VMOffsetsFields {
|
||||
pointer_size: 8,
|
||||
num_signature_ids: 0,
|
||||
num_imported_functions: 0,
|
||||
@@ -1167,7 +1167,7 @@ mod tests {
|
||||
num_defined_tables: 0,
|
||||
num_defined_memories: 0,
|
||||
num_defined_globals: 0,
|
||||
};
|
||||
});
|
||||
assert_eq!(
|
||||
offsets.vm_extern_ref_activation_table_next() as usize,
|
||||
actual_offset
|
||||
@@ -1183,7 +1183,7 @@ mod tests {
|
||||
|
||||
let actual_offset = (end_ptr as usize) - (table_ptr as usize);
|
||||
|
||||
let offsets = wasmtime_environ::VMOffsets {
|
||||
let offsets = wasmtime_environ::VMOffsets::from(wasmtime_environ::VMOffsetsFields {
|
||||
pointer_size: 8,
|
||||
num_signature_ids: 0,
|
||||
num_imported_functions: 0,
|
||||
@@ -1194,7 +1194,7 @@ mod tests {
|
||||
num_defined_tables: 0,
|
||||
num_defined_memories: 0,
|
||||
num_defined_globals: 0,
|
||||
};
|
||||
});
|
||||
assert_eq!(
|
||||
offsets.vm_extern_ref_activation_table_end() as usize,
|
||||
actual_offset
|
||||
|
||||
@@ -21,7 +21,7 @@ use std::mem;
|
||||
use std::sync::{Arc, Mutex};
|
||||
use wasmtime_environ::{
|
||||
entity::{EntitySet, PrimaryMap},
|
||||
MemoryStyle, Module, Tunables, VMOffsets, WASM_PAGE_SIZE,
|
||||
MemoryStyle, Module, Tunables, VMOffsets, VMOffsetsFields, WASM_PAGE_SIZE,
|
||||
};
|
||||
|
||||
cfg_if::cfg_if! {
|
||||
@@ -302,7 +302,7 @@ impl InstancePool {
|
||||
let page_size = region::page::size();
|
||||
|
||||
// Calculate the maximum size of an Instance structure given the limits
|
||||
let offsets = VMOffsets {
|
||||
let offsets = VMOffsets::from(VMOffsetsFields {
|
||||
pointer_size: std::mem::size_of::<*const u8>() as u8,
|
||||
num_signature_ids: module_limits.types,
|
||||
num_imported_functions: module_limits.imported_functions,
|
||||
@@ -313,7 +313,7 @@ impl InstancePool {
|
||||
num_defined_tables: module_limits.tables,
|
||||
num_defined_memories: module_limits.memories,
|
||||
num_defined_globals: module_limits.globals,
|
||||
};
|
||||
});
|
||||
|
||||
let instance_size = round_up_to_pow2(
|
||||
mem::size_of::<Instance>()
|
||||
|
||||
Reference in New Issue
Block a user