Convert the start function index from a DefinedFuncIndex to a FuncIndex.
This commit is contained in:
@@ -71,7 +71,7 @@ pub struct DummyModuleInfo {
|
|||||||
pub globals: Vec<Exportable<Global>>,
|
pub globals: Vec<Exportable<Global>>,
|
||||||
|
|
||||||
/// The start function.
|
/// The start function.
|
||||||
pub start_func: Option<DefinedFuncIndex>,
|
pub start_func: Option<FuncIndex>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DummyModuleInfo {
|
impl DummyModuleInfo {
|
||||||
@@ -418,7 +418,7 @@ impl<'data> ModuleEnvironment<'data> for DummyEnvironment {
|
|||||||
.push(String::from(name));
|
.push(String::from(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
fn declare_start_func(&mut self, func_index: DefinedFuncIndex) {
|
fn declare_start_func(&mut self, func_index: FuncIndex) {
|
||||||
debug_assert!(self.info.start_func.is_none());
|
debug_assert!(self.info.start_func.is_none());
|
||||||
self.info.start_func = Some(func_index);
|
self.info.start_func = Some(func_index);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use cranelift_codegen::settings::Flags;
|
|||||||
use std::vec::Vec;
|
use std::vec::Vec;
|
||||||
use target_lexicon::Triple;
|
use target_lexicon::Triple;
|
||||||
use translation_utils::{
|
use translation_utils::{
|
||||||
DefinedFuncIndex, FuncIndex, Global, GlobalIndex, Memory, MemoryIndex, SignatureIndex, Table, TableIndex,
|
FuncIndex, Global, GlobalIndex, Memory, MemoryIndex, SignatureIndex, Table, TableIndex,
|
||||||
};
|
};
|
||||||
use wasmparser::BinaryReaderError;
|
use wasmparser::BinaryReaderError;
|
||||||
|
|
||||||
@@ -284,7 +284,7 @@ pub trait ModuleEnvironment<'data> {
|
|||||||
fn declare_global_export(&mut self, global_index: GlobalIndex, name: &'data str);
|
fn declare_global_export(&mut self, global_index: GlobalIndex, name: &'data str);
|
||||||
|
|
||||||
/// Declares a start function.
|
/// Declares a start function.
|
||||||
fn declare_start_func(&mut self, index: DefinedFuncIndex);
|
fn declare_start_func(&mut self, index: FuncIndex);
|
||||||
|
|
||||||
/// Provides the contents of a function body.
|
/// Provides the contents of a function body.
|
||||||
fn define_function_body(&mut self, body_bytes: &'data [u8]) -> WasmResult<()>;
|
fn define_function_body(&mut self, body_bytes: &'data [u8]) -> WasmResult<()>;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ use environ::{ModuleEnvironment, WasmError, WasmResult};
|
|||||||
use std::str::from_utf8;
|
use std::str::from_utf8;
|
||||||
use std::vec::Vec;
|
use std::vec::Vec;
|
||||||
use translation_utils::{
|
use translation_utils::{
|
||||||
type_to_type, DefinedFuncIndex, FuncIndex, Global, GlobalIndex, GlobalInit, Memory, MemoryIndex,
|
type_to_type, FuncIndex, Global, GlobalIndex, GlobalInit, Memory, MemoryIndex,
|
||||||
SignatureIndex, Table, TableElementType, TableIndex,
|
SignatureIndex, Table, TableElementType, TableIndex,
|
||||||
};
|
};
|
||||||
use wasmparser;
|
use wasmparser;
|
||||||
@@ -172,7 +172,7 @@ pub fn parse_start_section(parser: &mut Parser, environ: &mut ModuleEnvironment)
|
|||||||
loop {
|
loop {
|
||||||
match *parser.read() {
|
match *parser.read() {
|
||||||
ParserState::StartSectionEntry(index) => {
|
ParserState::StartSectionEntry(index) => {
|
||||||
environ.declare_start_func(DefinedFuncIndex::new(index as usize));
|
environ.declare_start_func(FuncIndex::new(index as usize));
|
||||||
}
|
}
|
||||||
ParserState::EndSection => break,
|
ParserState::EndSection => break,
|
||||||
ParserState::Error(e) => return Err(WasmError::from_binary_reader_error(e)),
|
ParserState::Error(e) => return Err(WasmError::from_binary_reader_error(e)),
|
||||||
|
|||||||
Reference in New Issue
Block a user