externref: Address review feedback
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
use super::create_handle::create_handle;
|
||||
use crate::trampoline::StoreInstanceHandle;
|
||||
use crate::{FuncType, Store, Trap, ValType};
|
||||
use crate::{FuncType, Store, Trap};
|
||||
use anyhow::{bail, Result};
|
||||
use std::any::Any;
|
||||
use std::cmp;
|
||||
@@ -11,9 +11,7 @@ use std::mem;
|
||||
use std::panic::{self, AssertUnwindSafe};
|
||||
use wasmtime_environ::entity::PrimaryMap;
|
||||
use wasmtime_environ::isa::TargetIsa;
|
||||
use wasmtime_environ::{
|
||||
ir, settings, settings::Configurable, CompiledFunction, EntityIndex, Module,
|
||||
};
|
||||
use wasmtime_environ::{ir, settings, CompiledFunction, EntityIndex, Module};
|
||||
use wasmtime_jit::trampoline::ir::{
|
||||
ExternalName, Function, InstBuilder, MemFlags, StackSlotData, StackSlotKind,
|
||||
};
|
||||
@@ -210,18 +208,7 @@ pub fn create_handle_with_function(
|
||||
func: Box<dyn Fn(*mut VMContext, *mut u128) -> Result<(), Trap>>,
|
||||
store: &Store,
|
||||
) -> Result<(StoreInstanceHandle, VMTrampoline)> {
|
||||
let isa = {
|
||||
let isa_builder = native::builder();
|
||||
let mut flag_builder = settings::builder();
|
||||
|
||||
if ft.params().iter().any(|p| *p == ValType::ExternRef)
|
||||
|| ft.results().iter().any(|r| *r == ValType::ExternRef)
|
||||
{
|
||||
flag_builder.set("enable_safepoints", "true").unwrap();
|
||||
}
|
||||
|
||||
isa_builder.finish(settings::Flags::new(flag_builder))
|
||||
};
|
||||
let isa = store.engine().config().target_isa();
|
||||
|
||||
let pointer_type = isa.pointer_type();
|
||||
let sig = match ft.get_wasmtime_signature(pointer_type) {
|
||||
|
||||
Reference in New Issue
Block a user