| (module | |
| (type $0 (func (result i32))) | |
| (type $1 (func (param i32 i32))) | |
| (import "env" "__stack_pointer" (global $sp (mut i32))) | |
| (global $__stack_base (mut i32) (i32.const 0)) | |
| (global $__stack_limit (mut i32) (i32.const 0)) | |
| (export "use_stack" (func $use_stack)) | |
| (export "__set_stack_limits" (func $__set_stack_limits)) | |
| (func $use_stack (result i32) | |
| (local $0 i32) | |
| (block | |
| (if | |
| (i32.or | |
| (i32.gt_u | |
| (local.tee $0 | |
| (i32.const 42) | |
| ) | |
| (global.get $__stack_base) | |
| ) | |
| (i32.lt_u | |
| (local.get $0) | |
| (global.get $__stack_limit) | |
| ) | |
| ) | |
| (then | |
| (unreachable) | |
| ) | |
| ) | |
| (global.set $sp | |
| (local.get $0) | |
| ) | |
| ) | |
| (global.get $sp) | |
| ) | |
| (func $__set_stack_limits (param $0 i32) (param $1 i32) | |
| (global.set $__stack_base | |
| (local.get $0) | |
| ) | |
| (global.set $__stack_limit | |
| (local.get $1) | |
| ) | |
| ) | |
| ) | |
| (module | |
| (type $0 (func (result i32))) | |
| (type $1 (func (param i32 i32))) | |
| (import "env" "__stack_pointer" (global $sp (mut i32))) | |
| (global $__stack_base (mut i32) (i32.const 0)) | |
| (global $__stack_limit (mut i32) (i32.const 0)) | |
| (global $__stack_base_3 (mut i32) (i32.const 0)) | |
| (global $__stack_limit_3 (mut i32) (i32.const 0)) | |
| (export "use_stack" (func $0)) | |
| (export "__set_stack_limits" (func $__set_stack_limits)) | |
| (func $0 (result i32) | |
| (unreachable) | |
| ) | |
| (func $__set_stack_limits (param $0 i32) (param $1 i32) | |
| (global.set $__stack_base_3 | |
| (local.get $0) | |
| ) | |
| (global.set $__stack_limit_3 | |
| (local.get $1) | |
| ) | |
| ) | |
| ) |