From 4a82f17d91978ba6739d00740f54a3285ccf97f9 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 16 Oct 2020 08:21:32 -0700 Subject: [PATCH] Don't allocate a new ISA for each `Func::wrap` Instead we can reuse the existing one in `Store`. --- crates/wasmtime/src/trampoline/func.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/crates/wasmtime/src/trampoline/func.rs b/crates/wasmtime/src/trampoline/func.rs index 29bf5af087..604fe5f37e 100644 --- a/crates/wasmtime/src/trampoline/func.rs +++ b/crates/wasmtime/src/trampoline/func.rs @@ -11,14 +11,14 @@ use std::mem; use std::panic::{self, AssertUnwindSafe}; use wasmtime_environ::entity::PrimaryMap; use wasmtime_environ::isa::TargetIsa; -use wasmtime_environ::{ir, settings, CompiledFunction, EntityIndex, Module}; +use wasmtime_environ::{ir, CompiledFunction, EntityIndex, Module}; use wasmtime_jit::trampoline::ir::{ ExternalName, Function, InstBuilder, MemFlags, StackSlotData, StackSlotKind, }; use wasmtime_jit::trampoline::{ self, binemit, pretty_error, Context, FunctionBuilder, FunctionBuilderContext, }; -use wasmtime_jit::{native, CodeMemory}; +use wasmtime_jit::CodeMemory; use wasmtime_runtime::{InstanceHandle, VMContext, VMFunctionBody, VMTrampoline}; struct TrampolineState { @@ -270,13 +270,7 @@ pub unsafe fn create_handle_with_raw_function( store: &Store, state: Box, ) -> Result { - let isa = { - let isa_builder = native::builder(); - let flag_builder = settings::builder(); - isa_builder.finish(settings::Flags::new(flag_builder)) - }; - - let pointer_type = isa.pointer_type(); + let pointer_type = store.engine().compiler().isa().pointer_type(); let sig = ft.get_wasmtime_signature(pointer_type); let mut module = Module::new();