Fix broken reference

This commit is contained in:
Lachlan Sneff
2019-01-18 14:18:06 -08:00
parent 4f8e567d91
commit c34df39095
5 changed files with 21 additions and 14 deletions

View File

@ -307,29 +307,34 @@ impl ImportBacking {
imports: &mut Imports,
vmctx: *mut vm::Ctx,
) -> LinkResult<Self> {
let mut failed = false;
let mut link_errors = vec![];
let functions = import_functions(module, imports, vmctx).unwrap_or_else(|le| {
failed = true;
link_errors.extend(le);
Map::new().into_boxed_map()
});
let memories = import_memories(module, imports, vmctx).unwrap_or_else(|le| {
failed = true;
link_errors.extend(le);
Map::new().into_boxed_map()
});
let tables = import_tables(module, imports, vmctx).unwrap_or_else(|le| {
failed = true;
link_errors.extend(le);
Map::new().into_boxed_map()
});
let globals = import_globals(module, imports).unwrap_or_else(|le| {
failed = true;
link_errors.extend(le);
Map::new().into_boxed_map()
});
if link_errors.len() > 0 {
if failed {
Err(link_errors)
} else {
Ok(ImportBacking {

View File

@ -248,9 +248,9 @@ impl InstanceInner {
) -> (MemoryPointer, Context, Memory) {
match mem_index.local_or_import(module) {
LocalOrImport::Local(local_mem_index) => {
let vm_mem = &mut self.backing.memories[local_mem_index];
let vm_mem = &mut self.backing.vm_memories[local_mem_index];
(
unsafe { MemoryPointer::new(&mut vm_mem.into_vm_memory(local_mem_index)) },
unsafe { MemoryPointer::new(vm_mem) },
Context::Internal,
*module
.memories
@ -313,9 +313,9 @@ impl InstanceInner {
) -> (TablePointer, Context, Table) {
match table_index.local_or_import(module) {
LocalOrImport::Local(local_table_index) => {
let vm_table = &mut self.backing.tables[local_table_index];
let vm_table = &mut self.backing.vm_tables[local_table_index];
(
unsafe { TablePointer::new(&mut vm_table.into_vm_table()) },
unsafe { TablePointer::new(vm_table) },
Context::Internal,
*module
.tables

View File

@ -7,6 +7,7 @@ use std::{
/// This is a dynamically-sized slice
/// that can only be indexed by the
/// correct index type.
#[derive(Debug)]
pub struct SliceMap<K, V>
where
K: TypedIndex,