Add shortcut translation API

This commit is contained in:
Rerumu
2022-05-21 21:57:21 -04:00
parent f02070a1b3
commit ca57cf915a
10 changed files with 46 additions and 34 deletions
+1 -1
View File
@@ -10,7 +10,6 @@ cargo-fuzz = true
[dependencies]
libfuzzer-sys = "0.4"
wasm-smith = "0.8.0"
wasm-ast = { path = "../wasm-ast" }
codegen-luajit = { path = "../codegen-luajit" }
codegen-luau = { path = "../codegen-luau" }
@@ -21,6 +20,7 @@ features = ["multi_value", "sign_ext"]
[dev-dependencies]
test-generator = "0.3.0"
wast = "41.0.0"
wasm-ast = { path = "../wasm-ast" }
[[bin]]
name = "luajit_translate"
+1 -3
View File
@@ -1,6 +1,5 @@
#![no_main]
use wasm_ast::builder::TypeInfo;
use wasm_smith::Module;
// We are not interested in parity_wasm errors.
@@ -11,8 +10,7 @@ libfuzzer_sys::fuzz_target!(|module: Module| {
Err(_) => return,
};
let type_info = TypeInfo::from_module(&wasm);
let sink = &mut std::io::sink();
codegen_luajit::from_module(&wasm, &type_info, sink).expect("LuaJIT should succeed");
codegen_luajit::from_module_untyped(&wasm, sink).expect("LuaJIT should succeed");
});
+1 -3
View File
@@ -1,6 +1,5 @@
#![no_main]
use wasm_ast::builder::TypeInfo;
use wasm_smith::Module;
// We are not interested in parity_wasm errors.
@@ -11,8 +10,7 @@ libfuzzer_sys::fuzz_target!(|module: Module| {
Err(_) => return,
};
let type_info = TypeInfo::from_module(&wasm);
let sink = &mut std::io::sink();
codegen_luau::from_module(&wasm, &type_info, sink).expect("Luau should succeed");
codegen_luau::from_module_untyped(&wasm, sink).expect("Luau should succeed");
});
+2 -2
View File
@@ -64,7 +64,7 @@ impl Target for LuaJIT {
fn write_module(data: TypedModule, w: &mut dyn Write) -> IResult<()> {
write!(w, "storage[\"${}\"] = (function() ", data.name)?;
codegen_luajit::translate(data.module, &data.type_info, w)?;
codegen_luajit::from_module_typed(data.module, &data.type_info, w)?;
writeln!(w, "end)(nil)")
}
}
@@ -89,7 +89,7 @@ impl Target for Luau {
fn write_module(data: TypedModule, w: &mut dyn Write) -> IResult<()> {
write!(w, "storage[\"${}\"] = (function() ", data.name)?;
codegen_luau::translate(data.module, &data.type_info, w)?;
codegen_luau::from_module_typed(data.module, &data.type_info, w)?;
writeln!(w, "end)(nil)")
}
}