Add support for anonymous translation

This commit is contained in:
Rerumu
2022-05-21 19:52:25 -04:00
parent 830727d8d4
commit f02070a1b3
7 changed files with 24 additions and 8 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ pub static RUNTIME: &str = concat!(
include_str!("../runtime/runtime.lua")
);
pub use translator::translate;
pub use translator::{from_inst_list, from_module};
mod analyzer;
mod backend;
+9 -1
View File
@@ -321,7 +321,15 @@ fn write_module_start(
/// # Errors
/// Returns `Err` if writing to `Write` failed.
pub fn translate(wasm: &Module, type_info: &TypeInfo, w: &mut dyn Write) -> Result<()> {
pub fn from_inst_list(code: &[Instruction], type_info: &TypeInfo, w: &mut dyn Write) -> Result<()> {
Builder::new(type_info)
.with_anon(code)
.write(&mut Manager::default(), w)
}
/// # Errors
/// Returns `Err` if writing to `Write` failed.
pub fn from_module(wasm: &Module, type_info: &TypeInfo, w: &mut dyn Write) -> Result<()> {
let func_list = build_func_list(wasm, type_info);
write_localize_used(&func_list, w)?;