makepad/libs/stitch/tests/testsuite/proposals/multi-memory/linking2.wast
2025-05-06 10:11:37 +02:00

30 lines
966 B
WebAssembly Text Format

(module $Mm
(memory $mem0 (export "mem0") 0 0)
(memory $mem1 (export "mem1") 1 5)
(memory $mem2 (export "mem2") 0 0)
(data (memory 1) (i32.const 10) "\00\01\02\03\04\05\06\07\08\09")
(func (export "load") (param $a i32) (result i32)
(i32.load8_u $mem1 (local.get 0))
)
)
(register "Mm" $Mm)
(module $Pm
(memory (import "Mm" "mem1") 1 8)
(func (export "grow") (param $a i32) (result i32)
(memory.grow (local.get 0))
)
)
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 1))
(assert_return (invoke $Pm "grow" (i32.const 2)) (i32.const 1))
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 3))
(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const 3))
(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const 4))
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 5))
(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const -1))
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 5))