(module (type $fd_write_ty (func (param i32 i32 i32 i32) (result i32))) (import "wasi_snapshot_preview1" "fd_write" (func $fd_write (type $fd_write_ty))) (func (export "double") (param i32) (result i32) local.get 0 i32.const 2 i32.mul ) (func (export "log") (param i32 i32) ;; store the pointer in the first iovec field i32.const 4 local.get 0 i32.store ;; store the length in the first iovec field i32.const 4 local.get 1 i32.store offset=4 ;; call the `fd_write` import i32.const 1 ;; stdout fd i32.const 4 ;; iovs start i32.const 1 ;; number of iovs i32.const 0 ;; where to write nwritten bytes call $fd_write drop ) (memory (export "memory") 2) (global (export "memory_offset") i32 (i32.const 65536)) )