mirror of
https://github.com/fluencelabs/wasmer
synced 2025-06-22 05:01:33 +00:00
Merge branch 'master' into feature/llvm-tbaa
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
use super::stackmap::StackmapRegistry;
|
||||
use crate::intrinsics::Intrinsics;
|
||||
use crate::structs::{Callbacks, LLVMModule, LLVMResult, MemProtect};
|
||||
use crate::{
|
||||
intrinsics::Intrinsics,
|
||||
structs::{Callbacks, LLVMModule, LLVMResult, MemProtect},
|
||||
};
|
||||
use inkwell::{
|
||||
memory_buffer::MemoryBuffer,
|
||||
module::Module,
|
||||
@ -29,7 +31,7 @@ use wasmer_runtime_core::{
|
||||
module::ModuleInfo,
|
||||
state::ModuleStateMap,
|
||||
structures::TypedIndex,
|
||||
typed_func::{Wasm, WasmTrapInfo},
|
||||
typed_func::{Trampoline, Wasm, WasmTrapInfo},
|
||||
types::{LocalFuncIndex, SigIndex},
|
||||
vm, vmcalls,
|
||||
};
|
||||
@ -59,7 +61,7 @@ extern "C" {
|
||||
|
||||
#[allow(improper_ctypes)]
|
||||
fn invoke_trampoline(
|
||||
trampoline: unsafe extern "C" fn(*mut vm::Ctx, NonNull<vm::Func>, *const u64, *mut u64),
|
||||
trampoline: Trampoline,
|
||||
vmctx_ptr: *mut vm::Ctx,
|
||||
func_ptr: NonNull<vm::Func>,
|
||||
params: *const u64,
|
||||
@ -389,12 +391,7 @@ impl RunnableModule for LLVMBackend {
|
||||
}
|
||||
|
||||
fn get_trampoline(&self, _: &ModuleInfo, sig_index: SigIndex) -> Option<Wasm> {
|
||||
let trampoline: unsafe extern "C" fn(
|
||||
*mut vm::Ctx,
|
||||
NonNull<vm::Func>,
|
||||
*const u64,
|
||||
*mut u64,
|
||||
) = unsafe {
|
||||
let trampoline: Trampoline = unsafe {
|
||||
let name = if cfg!(target_os = "macos") {
|
||||
format!("_trmp{}", sig_index.index())
|
||||
} else {
|
||||
|
@ -1,3 +1,11 @@
|
||||
use crate::{
|
||||
backend::LLVMBackend,
|
||||
intrinsics::{tbaa_label, CtxType, GlobalCache, Intrinsics, MemoryCache},
|
||||
read_info::{blocktype_to_type, type_to_type},
|
||||
stackmap::{StackmapEntry, StackmapEntryKind, StackmapRegistry, ValueSemantic},
|
||||
state::{ControlFrame, ExtraInfo, IfElseState, State},
|
||||
trampolines::generate_trampolines,
|
||||
};
|
||||
use inkwell::{
|
||||
builder::Builder,
|
||||
context::Context,
|
||||
@ -12,9 +20,11 @@ use inkwell::{
|
||||
AddressSpace, AtomicOrdering, AtomicRMWBinOp, FloatPredicate, IntPredicate, OptimizationLevel,
|
||||
};
|
||||
use smallvec::SmallVec;
|
||||
use std::cell::RefCell;
|
||||
use std::rc::Rc;
|
||||
use std::sync::{Arc, RwLock};
|
||||
use std::{
|
||||
cell::RefCell,
|
||||
rc::Rc,
|
||||
sync::{Arc, RwLock},
|
||||
};
|
||||
use wasmer_runtime_core::{
|
||||
backend::{Backend, CacheGen, CompilerConfig, Token},
|
||||
cache::{Artifact, Error as CacheError},
|
||||
@ -28,13 +38,6 @@ use wasmer_runtime_core::{
|
||||
};
|
||||
use wasmparser::{BinaryReaderError, MemoryImmediate, Operator, Type as WpType};
|
||||
|
||||
use crate::backend::LLVMBackend;
|
||||
use crate::intrinsics::{tbaa_label, CtxType, GlobalCache, Intrinsics, MemoryCache};
|
||||
use crate::read_info::{blocktype_to_type, type_to_type};
|
||||
use crate::stackmap::{StackmapEntry, StackmapEntryKind, StackmapRegistry, ValueSemantic};
|
||||
use crate::state::{ControlFrame, ExtraInfo, IfElseState, State};
|
||||
use crate::trampolines::generate_trampolines;
|
||||
|
||||
fn func_sig_to_llvm(
|
||||
context: &Context,
|
||||
intrinsics: &Intrinsics,
|
||||
|
Reference in New Issue
Block a user