(module (memory (import "js" "mem") 10) (import "console" "log" (func $js_log (param $i i32))) (global $memend i32 (i32.const 4096)) (global $sbrk (mut i32) (i32.const 0)) (func (export "malloc") (param $len i32) (result i32) (local $newbrk i32) (local $mem i32) (local.set $newbrk (i32.add (global.get $sbrk) (local.get $len))) (if (i32.ge_u (local.get $newbrk) (global.get $memend)) (return (i32.const 0))) (local.set $mem (global.get $sbrk)) (global.set $sbrk (local.get $newbrk)) (local.get $mem)) (func (export "dump_range") (param $start i32) (param $len i32) (local $i i32) (local $end i32) (local.set $end (i32.add (local.get $start) (local.get $len))) (local.set $i (local.get $start)) (block $break2 (loop $head1 (br_if $break2 (i32.eq (local.get $i) (local.get $end))) (call $js_log (i32.load8_u (local.get $i))) (local.set $i (i32.add (i32.const 1) (local.get $i))) (br $head1)))) )