Have declare_table_elements consume its elements argument.
The producer is already allocating a new Vec, so no need to require the consumer to allocate one too.
This commit is contained in:
@@ -254,7 +254,7 @@ impl<'data> ModuleEnvironment<'data> for DummyEnvironment {
|
|||||||
_table_index: TableIndex,
|
_table_index: TableIndex,
|
||||||
_base: Option<GlobalIndex>,
|
_base: Option<GlobalIndex>,
|
||||||
_offset: usize,
|
_offset: usize,
|
||||||
_elements: &[FunctionIndex],
|
_elements: Vec<FunctionIndex>,
|
||||||
) {
|
) {
|
||||||
// We do nothing
|
// We do nothing
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ pub trait ModuleEnvironment<'data> {
|
|||||||
table_index: TableIndex,
|
table_index: TableIndex,
|
||||||
base: Option<GlobalIndex>,
|
base: Option<GlobalIndex>,
|
||||||
offset: usize,
|
offset: usize,
|
||||||
elements: &[FunctionIndex],
|
elements: Vec<FunctionIndex>,
|
||||||
);
|
);
|
||||||
/// Declares a memory to the environment
|
/// Declares a memory to the environment
|
||||||
fn declare_memory(&mut self, memory: Memory);
|
fn declare_memory(&mut self, memory: Memory);
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ pub fn parse_elements_section(
|
|||||||
ParserState::ElementSectionEntryBody(ref elements) => {
|
ParserState::ElementSectionEntryBody(ref elements) => {
|
||||||
let elems: Vec<FunctionIndex> =
|
let elems: Vec<FunctionIndex> =
|
||||||
elements.iter().map(|&x| x as FunctionIndex).collect();
|
elements.iter().map(|&x| x as FunctionIndex).collect();
|
||||||
environ.declare_table_elements(table_index, base, offset, &elems)
|
environ.declare_table_elements(table_index, base, offset, elems)
|
||||||
}
|
}
|
||||||
ref s => return Err(SectionParsingError::WrongSectionContent(format!("{:?}", s))),
|
ref s => return Err(SectionParsingError::WrongSectionContent(format!("{:?}", s))),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user