diff options
Diffstat (limited to 'test/passes/stack-check_enable-mutable-globals.txt')
-rw-r--r-- | test/passes/stack-check_enable-mutable-globals.txt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/passes/stack-check_enable-mutable-globals.txt b/test/passes/stack-check_enable-mutable-globals.txt new file mode 100644 index 000000000..52ee091ef --- /dev/null +++ b/test/passes/stack-check_enable-mutable-globals.txt @@ -0,0 +1,48 @@ +(module + (type $i32_=>_none (func (param i32))) + (type $i32_i32_=>_none (func (param i32 i32))) + (type $none_=>_i32 (func (result 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 $0)) + (export "__set_stack_limit" (func $__set_stack_limit)) + (export "__set_stack_limits" (func $__set_stack_limits)) + (func $0 (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) + ) + ) + (unreachable) + ) + (global.set $sp + (local.get $0) + ) + ) + (global.get $sp) + ) + (func $__set_stack_limit (param $0 i32) + (global.set $__stack_limit + (local.get $0) + ) + ) + (func $__set_stack_limits (param $0 i32) (param $1 i32) + (global.set $__stack_base + (local.get $0) + ) + (global.set $__stack_limit + (local.get $1) + ) + ) +) |