diff --git a/cranelift/simplejit/examples/simplejit-minimal.rs b/cranelift/simplejit/examples/simplejit-minimal.rs index 1534e144de..7c5df36eee 100644 --- a/cranelift/simplejit/examples/simplejit-minimal.rs +++ b/cranelift/simplejit/examples/simplejit-minimal.rs @@ -1,12 +1,12 @@ use cranelift::prelude::*; use cranelift_codegen::binemit::NullTrapSink; use cranelift_module::{default_libcall_names, Linkage, Module}; -use cranelift_simplejit::{SimpleJITBackend, SimpleJITBuilder}; +use cranelift_simplejit::{SimpleJITBuilder, SimpleJITModule}; use std::mem; fn main() { - let mut module: Module = - Module::new(SimpleJITBuilder::new(default_libcall_names())); + let mut module: SimpleJITModule = + SimpleJITModule::new(SimpleJITBuilder::new(default_libcall_names())); let mut ctx = module.make_context(); let mut func_ctx = FunctionBuilderContext::new(); @@ -70,10 +70,10 @@ fn main() { module.clear_context(&mut ctx); // Perform linking. - module.finalize_definitions(); + let product = module.finish(); // Get a raw pointer to the generated code. - let code_b = module.get_finalized_function(func_b); + let code_b = product.lookup_func(func_b); // Cast it to a rust function pointer type. let ptr_b = unsafe { mem::transmute::<_, fn() -> u32>(code_b) }; diff --git a/cranelift/simplejit/tests/basic.rs b/cranelift/simplejit/tests/basic.rs index 31d19fa97a..e7b52417c1 100644 --- a/cranelift/simplejit/tests/basic.rs +++ b/cranelift/simplejit/tests/basic.rs @@ -9,8 +9,8 @@ use cranelift_simplejit::*; #[test] fn error_on_incompatible_sig_in_declare_function() { - let mut module: Module = - Module::new(SimpleJITBuilder::new(default_libcall_names())); + let mut module: SimpleJITModule = + SimpleJITModule::new(SimpleJITBuilder::new(default_libcall_names())); let mut sig = Signature { params: vec![AbiParam::new(types::I64)], returns: vec![], @@ -26,7 +26,7 @@ fn error_on_incompatible_sig_in_declare_function() { .unwrap(); // Make sure this is an error } -fn define_simple_function(module: &mut Module) -> FuncId { +fn define_simple_function(module: &mut SimpleJITModule) -> FuncId { let sig = Signature { params: vec![], returns: vec![], @@ -55,27 +55,13 @@ fn define_simple_function(module: &mut Module) -> FuncId { func_id } -#[test] -fn double_finalize() { - let mut module: Module = - Module::new(SimpleJITBuilder::new(default_libcall_names())); - - define_simple_function(&mut module); - module.finalize_definitions(); - - // Calling `finalize_definitions` a second time without any new definitions - // should have no effect. - module.finalize_definitions(); -} - #[test] #[should_panic(expected = "Result::unwrap()` on an `Err` value: DuplicateDefinition(\"abc\")")] fn panic_on_define_after_finalize() { - let mut module: Module = - Module::new(SimpleJITBuilder::new(default_libcall_names())); + let mut module: SimpleJITModule = + SimpleJITModule::new(SimpleJITBuilder::new(default_libcall_names())); define_simple_function(&mut module); - module.finalize_definitions(); define_simple_function(&mut module); } @@ -154,8 +140,8 @@ fn switch_error() { #[test] fn libcall_function() { - let mut module: Module = - Module::new(SimpleJITBuilder::new(default_libcall_names())); + let mut module: SimpleJITModule = + SimpleJITModule::new(SimpleJITBuilder::new(default_libcall_names())); let sig = Signature { params: vec![], @@ -200,5 +186,5 @@ fn libcall_function() { .define_function(func_id, &mut ctx, &mut trap_sink) .unwrap(); - module.finalize_definitions(); + module.finish(); }