| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- ;; Copyright (C) 2024 YAMAMOTO Takashi
- ;; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- (module
- (func $fd_read (import "wasi_snapshot_preview1" "fd_read") (param i32 i32 i32 i32) (result i32))
- (func $block_forever (export "block_forever")
- ;; read from FD 0
- i32.const 100 ;; iov_base
- i32.const 200 ;; buffer
- i32.store
- i32.const 104 ;; iov_len
- i32.const 1
- i32.store
- i32.const 0 ;; fd 0
- i32.const 100 ;; iov_base
- i32.const 1 ;; iov count
- i32.const 300 ;; retp (out)
- call $fd_read
- unreachable
- )
- (func (export "_start")
- call $block_forever
- )
- ;; a dumb malloc/free implementation
- (func (export "malloc") (param i32) (result i32)
- local.get 0
- i32.const 65535
- i32.add
- i32.const 65536
- i32.div_u
- memory.grow
- local.set 0
- local.get 0
- i32.const -1
- i32.eq
- if
- i32.const 0
- return
- end
- local.get 0
- i32.const 65536
- i32.mul
- )
- (func (export "free") (param i32))
- (memory (export "memory") 1)
- ;; fake globals to make wasm_set_aux_stack happy
- (global (export "__heap_base") i32 (i32.const 0x10000))
- (global (export "__data_end") i32 (i32.const 0x10000))
- (global (mut i32) (i32.const 0x10000))
- )
|