From 051d435423f1693679255190c4e65d80f17f12e1 Mon Sep 17 00:00:00 2001 From: Lachlan Sneff Date: Fri, 12 Apr 2019 10:27:14 -0700 Subject: [PATCH] Warnings and unused code cleanup --- lib/clif-backend/src/module.rs | 4 +- lib/clif-backend/src/resolver.rs | 1 - lib/clif-backend/src/signal/mod.rs | 59 +++--------------------------- lib/clif-backend/src/trampoline.rs | 1 - lib/runtime-core/src/instance.rs | 2 +- 5 files changed, 8 insertions(+), 59 deletions(-) diff --git a/lib/clif-backend/src/module.rs b/lib/clif-backend/src/module.rs index 44076aca7..ad0576e59 100644 --- a/lib/clif-backend/src/module.rs +++ b/lib/clif-backend/src/module.rs @@ -78,7 +78,7 @@ impl Module { Arc::clone(&func_resolver.memory), )); - let runnable_module = Caller::new(&self.info, handler_data, trampolines, func_resolver); + let runnable_module = Caller::new(handler_data, trampolines, func_resolver); Ok(ModuleInner { runnable_module: Box::new(runnable_module), @@ -107,7 +107,7 @@ impl Module { Arc::clone(&func_resolver.memory), )); - let runnable_module = Caller::new(&info, handler_data, trampolines, func_resolver); + let runnable_module = Caller::new(handler_data, trampolines, func_resolver); Ok(ModuleInner { runnable_module: Box::new(runnable_module), diff --git a/lib/clif-backend/src/resolver.rs b/lib/clif-backend/src/resolver.rs index 6e5623f25..a55bf56d7 100644 --- a/lib/clif-backend/src/resolver.rs +++ b/lib/clif-backend/src/resolver.rs @@ -21,7 +21,6 @@ use wasmer_runtime_core::cache::Error as CacheError; use wasmer_runtime_core::{ self, backend::{ - self, sys::{Memory, Protect}, SigRegistry, }, diff --git a/lib/clif-backend/src/signal/mod.rs b/lib/clif-backend/src/signal/mod.rs index 66d347c21..f5fcf5d52 100644 --- a/lib/clif-backend/src/signal/mod.rs +++ b/lib/clif-backend/src/signal/mod.rs @@ -1,16 +1,14 @@ use crate::relocation::{TrapData, TrapSink}; use crate::resolver::FuncResolver; use crate::trampoline::Trampolines; -use hashbrown::HashSet; use libc::c_void; use std::{any::Any, cell::Cell, ptr::NonNull, sync::Arc}; use wasmer_runtime_core::{ backend::{RunnableModule, UserTrapper}, - export::Context, - module::{ExportIndex, ModuleInfo, ModuleInner}, + module::ModuleInfo, typed_func::{Wasm, WasmTrapInfo}, - types::{FuncIndex, FuncSig, LocalFuncIndex, LocalOrImport, SigIndex, Type, Value}, - vm::{self, ImportBacking}, + types::{LocalFuncIndex, SigIndex}, + vm, }; #[cfg(unix)] @@ -39,7 +37,6 @@ impl UserTrapper for Trapper { } pub struct Caller { - func_export_set: HashSet, handler_data: HandlerData, trampolines: Arc, resolver: FuncResolver, @@ -47,23 +44,11 @@ pub struct Caller { impl Caller { pub fn new( - module: &ModuleInfo, handler_data: HandlerData, trampolines: Arc, resolver: FuncResolver, ) -> Self { - let mut func_export_set = HashSet::new(); - for export_index in module.exports.values() { - if let ExportIndex::Func(func_index) = export_index { - func_export_set.insert(*func_index); - } - } - if let Some(start_func_index) = module.start_func { - func_export_set.insert(start_func_index); - } - Self { - func_export_set, handler_data, trampolines, resolver, @@ -83,13 +68,13 @@ impl RunnableModule for Caller { func: NonNull, args: *const u64, rets: *mut u64, - trap_info: *mut WasmTrapInfo, + _trap_info: *mut WasmTrapInfo, invoke_env: Option>, ) -> bool { let handler_data = &*invoke_env.unwrap().cast().as_ptr(); #[cfg(not(target_os = "windows"))] - let res = call_protected(handler_data, || unsafe { + let res = call_protected(handler_data, || { // Leap of faith. trampoline(ctx, func, args, rets); }) @@ -121,40 +106,6 @@ impl RunnableModule for Caller { } } -fn get_func_from_index<'a>( - module: &'a ModuleInner, - import_backing: &ImportBacking, - func_index: FuncIndex, -) -> (NonNull, Context, &'a FuncSig, SigIndex) { - let sig_index = *module - .info - .func_assoc - .get(func_index) - .expect("broken invariant, incorrect func index"); - - let (func_ptr, ctx) = match func_index.local_or_import(&module.info) { - LocalOrImport::Local(local_func_index) => ( - module - .runnable_module - .get_func(&module.info, local_func_index) - .expect("broken invariant, func resolver not synced with module.exports") - .cast(), - Context::Internal, - ), - LocalOrImport::Import(imported_func_index) => { - let imported_func = import_backing.imported_func(imported_func_index); - ( - NonNull::new(imported_func.func as *mut _).unwrap(), - Context::External(imported_func.vmctx), - ) - } - }; - - let signature = &module.info.signatures[sig_index]; - - (func_ptr, ctx, signature, sig_index) -} - unsafe impl Send for HandlerData {} unsafe impl Sync for HandlerData {} diff --git a/lib/clif-backend/src/trampoline.rs b/lib/clif-backend/src/trampoline.rs index 696a0b624..09ee4cf74 100644 --- a/lib/clif-backend/src/trampoline.rs +++ b/lib/clif-backend/src/trampoline.rs @@ -6,7 +6,6 @@ use cranelift_codegen::{ isa, Context, }; use hashbrown::HashMap; -use std::ffi::c_void; use std::{iter, mem, ptr::NonNull}; use wasmer_runtime_core::{ backend::sys::{Memory, Protect}, diff --git a/lib/runtime-core/src/instance.rs b/lib/runtime-core/src/instance.rs index 2cdc738da..db9a2847f 100644 --- a/lib/runtime-core/src/instance.rs +++ b/lib/runtime-core/src/instance.rs @@ -1,5 +1,5 @@ use crate::{ - backend::{RunnableModule, Token}, + backend::RunnableModule, backing::{ImportBacking, LocalBacking}, error::{CallError, CallResult, ResolveError, ResolveResult, Result, RuntimeError}, export::{Context, Export, ExportIter, FuncPointer},