wasm: Add support for passive data and element segments (#1389)

This is part of the bulk memory and reference types proposals.
This commit is contained in:
Nick Fitzgerald
2020-02-15 14:53:32 -08:00
committed by GitHub
parent 45cc95e60e
commit 9b3ac10ebc
9 changed files with 169 additions and 78 deletions

View File

@@ -11,8 +11,8 @@ use crate::environ::{
use crate::func_translator::FuncTranslator;
use crate::state::ModuleTranslationState;
use crate::translation_utils::{
DefinedFuncIndex, FuncIndex, Global, GlobalIndex, Memory, MemoryIndex, SignatureIndex, Table,
TableIndex,
DefinedFuncIndex, FuncIndex, Global, GlobalIndex, Memory, MemoryIndex, PassiveDataIndex,
PassiveElemIndex, SignatureIndex, Table, TableIndex,
};
use core::convert::TryFrom;
use cranelift_codegen::cursor::FuncCursor;
@@ -605,6 +605,22 @@ impl<'data> ModuleEnvironment<'data> for DummyEnvironment {
Ok(())
}
fn declare_passive_element(
&mut self,
_elem_index: PassiveElemIndex,
_segments: Box<[FuncIndex]>,
) -> WasmResult<()> {
Ok(())
}
fn declare_passive_data(
&mut self,
_elem_index: PassiveDataIndex,
_segments: &'data [u8],
) -> WasmResult<()> {
Ok(())
}
fn declare_memory(&mut self, memory: Memory) -> WasmResult<()> {
self.info.memories.push(Exportable::new(memory));
Ok(())