Very weirdly organized, but it JITs!
This commit is contained in:
@@ -1,19 +1,21 @@
|
||||
mod into_crane;
|
||||
mod runtime;
|
||||
|
||||
use self::runtime::{RuntimeFunctionError, RuntimeFunctions};
|
||||
use std::collections::HashMap;
|
||||
|
||||
pub use self::runtime::{RuntimeFunctionError, RuntimeFunctions};
|
||||
use crate::ir;
|
||||
use codespan_reporting::diagnostic::Diagnostic;
|
||||
use cranelift_codegen::isa::LookupError;
|
||||
use cranelift_codegen::settings::{Configurable, SetError};
|
||||
use cranelift_codegen::{isa, settings, CodegenError};
|
||||
use cranelift_module::{default_libcall_names, ModuleCompiledFunction, ModuleError};
|
||||
use cranelift_module::{default_libcall_names, FuncId, ModuleError};
|
||||
use cranelift_object::{object, ObjectBuilder, ObjectModule};
|
||||
use target_lexicon::Triple;
|
||||
use thiserror::Error;
|
||||
|
||||
pub struct Program {
|
||||
_compiled: ModuleCompiledFunction,
|
||||
_func_id: FuncId,
|
||||
module: ObjectModule,
|
||||
}
|
||||
|
||||
@@ -70,7 +72,13 @@ impl Program {
|
||||
let rtfuns = RuntimeFunctions::new(&platform, &mut object_module)?;
|
||||
|
||||
Ok(Program {
|
||||
_compiled: ir.into_cranelift(&mut object_module, &rtfuns)?,
|
||||
_func_id: ir.into_cranelift::<BackendError, _>(
|
||||
&mut object_module,
|
||||
"gogogo",
|
||||
&rtfuns,
|
||||
&HashMap::new(),
|
||||
&HashMap::new(),
|
||||
)?,
|
||||
module: object_module,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user