mirror of
https://github.com/fluencelabs/wasmer
synced 2025-04-23 17:32:14 +00:00
Use minimum limit as initial table size (#196)
This commit is contained in:
parent
a6d72bdec9
commit
c9969f269c
@ -19,7 +19,7 @@ int main()
|
|||||||
|
|
||||||
uint32_t len = wasmer_table_length(table);
|
uint32_t len = wasmer_table_length(table);
|
||||||
printf("Table length: %d\n", len);
|
printf("Table length: %d\n", len);
|
||||||
assert(len == 15);
|
assert(len == 10);
|
||||||
|
|
||||||
// wasmer_result_t grow_result1 = wasmer_table_grow(table, 5);
|
// wasmer_result_t grow_result1 = wasmer_table_grow(table, 5);
|
||||||
// assert(grow_result1 == WASMER_OK);
|
// assert(grow_result1 == WASMER_OK);
|
||||||
|
@ -306,3 +306,21 @@ impl Clone for SharedMemory {
|
|||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod memory_tests {
|
||||||
|
|
||||||
|
use super::{Memory, MemoryDescriptor, Pages};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_initial_memory_size() {
|
||||||
|
let unshared_memory = Memory::new(MemoryDescriptor {
|
||||||
|
minimum: Pages(10),
|
||||||
|
maximum: Some(Pages(20)),
|
||||||
|
shared: false,
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
assert_eq!(unshared_memory.size(), Pages(10));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -53,10 +53,7 @@ impl AnyfuncTable {
|
|||||||
desc: TableDescriptor,
|
desc: TableDescriptor,
|
||||||
local: &mut vm::LocalTable,
|
local: &mut vm::LocalTable,
|
||||||
) -> Result<Box<Self>, CreationError> {
|
) -> Result<Box<Self>, CreationError> {
|
||||||
let initial_table_backing_len = match desc.maximum {
|
let initial_table_backing_len = desc.minimum as usize;
|
||||||
Some(max) => max,
|
|
||||||
None => desc.minimum,
|
|
||||||
} as usize;
|
|
||||||
|
|
||||||
let mut storage = Box::new(AnyfuncTable {
|
let mut storage = Box::new(AnyfuncTable {
|
||||||
backing: vec![vm::Anyfunc::null(); initial_table_backing_len],
|
backing: vec![vm::Anyfunc::null(); initial_table_backing_len],
|
||||||
|
@ -148,3 +148,21 @@ impl fmt::Debug for Table {
|
|||||||
.finish()
|
.finish()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod table_tests {
|
||||||
|
|
||||||
|
use super::{ElementType, Table, TableDescriptor};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_initial_table_size() {
|
||||||
|
let table = Table::new(TableDescriptor {
|
||||||
|
element: ElementType::Anyfunc,
|
||||||
|
minimum: 10,
|
||||||
|
maximum: Some(20),
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
assert_eq!(table.size(), 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user