t.wast 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. (module
  2. (func $add (param $lhs i32) (param $rhs i32) (result i32)
  3. local.get $lhs
  4. local.get $rhs
  5. i32.add)
  6. (export "add" (func $add))
  7. )
  8. (module
  9. (func $getAnswer (result i32) i32.const 42)
  10. (func (export "getAnswerPlus1") (result i32)
  11. call $getAnswer
  12. i32.const 1
  13. i32.add))
  14. (module)
  15. (module
  16. (import "console" "log" (func $log (param i32 i32)))
  17. (import "js" "mem" (memory 1))
  18. (data (i32.const 0) "Hi")
  19. (func (export "writeHi")
  20. i32.const 0 ;; pass offset 0 to log
  21. i32.const 2 ;; pass length 2 to log
  22. call $log))
  23. (module
  24. (import "console" "log" (func $log (param i32)))
  25. (func (export "logIt")
  26. i32.const 13
  27. call $log))
  28. (module
  29. (import "js" "memory" (memory 1))
  30. (import "js" "table" (table 1 anyfunc))
  31. (elem (i32.const 0) $shared0func)
  32. (func $shared0func (result i32)
  33. i32.const 0
  34. i32.load)
  35. )
  36. (module
  37. (import "js" "memory" (memory 1))
  38. (import "js" "table" (table 1 anyfunc))
  39. (type $void_to_i32 (func (result i32)))
  40. (func (export "doIt") (result i32)
  41. (i32.store (i32.const 0) (i32.const 42)) ;; store 42 at address 0
  42. (call_indirect $void_to_i32 (i32.const 0)))
  43. )
  44. (module
  45. (table 2 anyfunc)
  46. (func $f1 (result i32)
  47. i32.const 42)
  48. (func $f2 (result i32)
  49. i32.const 13)
  50. (elem (i32.const 0) $f1 $f2)
  51. (type $return_i32 (func (result i32)))
  52. (func (export "callByIndex") (param $i i32) (result i32)
  53. local.get $i
  54. call_indirect (type $return_i32))
  55. )