Remove unused argument from fibonacci example

This commit is contained in:
Jef
2018-12-13 11:08:34 +01:00
parent 912fa83fff
commit 4994e3671c
2 changed files with 6 additions and 11 deletions

View File

@@ -481,12 +481,9 @@ pub fn prologue(ctx: &mut Context, stack_slots: u32) {
} }
pub fn epilogue(ctx: &mut Context) { pub fn epilogue(ctx: &mut Context) {
// TODO: This doesn't work with stack alignment. // We don't need to clean up the stack - `rsp` is restored and
// assert_eq!( // the calling function has its own register stack and will
// ctx.sp_depth, // stomp on the registers from our stack if necessary.
// StackDepth(0),
// "imbalanced pushes and pops detected"
// );
dynasm!(ctx.asm dynasm!(ctx.asm
; mov rsp, rbp ; mov rsp, rbp
; pop rbp ; pop rbp

View File

@@ -272,7 +272,7 @@ fn literals() {
const FIBONACCI: &str = r#" const FIBONACCI: &str = r#"
(module (module
(func $fib (param $n i32) (param $_unused i32) (result i32) (func $fib (param $n i32) (result i32)
(if (result i32) (if (result i32)
(i32.eq (i32.eq
(i32.const 0) (i32.const 0)
@@ -298,7 +298,6 @@ const FIBONACCI: &str = r#"
(get_local $n) (get_local $n)
(i32.const -1) (i32.const -1)
) )
(i32.const 0)
) )
;; fib(n - 2) ;; fib(n - 2)
(call $fib (call $fib
@@ -306,7 +305,6 @@ const FIBONACCI: &str = r#"
(get_local $n) (get_local $n)
(i32.const -2) (i32.const -2)
) )
(i32.const 0)
) )
) )
) )
@@ -327,7 +325,7 @@ fn fib() {
for x in 0..10 { for x in 0..10 {
unsafe { unsafe {
assert_eq!( assert_eq!(
translated.execute_func::<_, u32>(0, (x, 0u32)), translated.execute_func::<_, u32>(0, (x,)),
FIB_SEQ[x as usize] FIB_SEQ[x as usize]
); );
} }
@@ -346,5 +344,5 @@ fn bench_run(b: &mut test::Bencher) {
let wasm = wabt::wat2wasm(FIBONACCI).unwrap(); let wasm = wabt::wat2wasm(FIBONACCI).unwrap();
let module = translate(&wasm).unwrap(); let module = translate(&wasm).unwrap();
b.iter(|| unsafe { module.execute_func::<_, u32>(0, (20, 0u32)) }); b.iter(|| unsafe { module.execute_func::<_, u32>(0, (20,)) });
} }