Have vmctx be the first argument so we (almost) never have to shuffle it around

This commit is contained in:
Jef
2019-01-16 09:33:46 +01:00
parent b86d11e4ad
commit d7434fe5d2
4 changed files with 34 additions and 21 deletions

View File

@@ -10,6 +10,7 @@ fn translate_wat(wat: &str) -> TranslatedModule {
/// Execute the first function in the module.
fn execute_wat(wat: &str, a: u32, b: u32) -> u32 {
let translated = translate_wat(wat);
translated.disassemble();
translated.execute_func(0, (a, b)).unwrap()
}
@@ -317,6 +318,7 @@ fn function_read_args_spill_to_stack() {
let code = r#"
(module
(func (param i32) (param i32) (param i32) (param i32)
(param i32) (param i32) (param i32) (param i32)
(param i32) (param i32) (param i32) (param i32)
(result i32)
@@ -339,7 +341,12 @@ fn function_read_args_spill_to_stack() {
{
let translated = translate_wat(code);
translated.disassemble();
translated.execute_func(0, (7u32, 6u32, 5u32, 4u32, 3u32, 2u32, 1u32, 0u32))
translated.execute_func(
0,
(
7u32, 6u32, 5u32, 4u32, 3u32, 2u32, 1u32, 0u32, 1u32, 2u32, 3u32, 4u32,
),
)
},
Ok(7u32)
);
@@ -414,6 +421,7 @@ macro_rules! mk_function_write_args_spill_to_stack {
}
};
}
mk_function_write_args_spill_to_stack!(function_write_args_spill_to_stack_i32, i32);
mk_function_write_args_spill_to_stack!(function_write_args_spill_to_stack_i64, i64);
@@ -539,7 +547,6 @@ fn spec_loop() {
translated.execute_func::<(), ()>(0, ()).unwrap();
}
quickcheck! {
fn spec_fac(n: i8) -> bool {
const CODE: &str = r#"