File: old_address.wast

package info (click to toggle)
binaryen 120-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 41,284 kB
  • sloc: cpp: 189,449; javascript: 62,189; ansic: 14,087; python: 5,379; pascal: 441; sh: 77; makefile: 30; asm: 27
file content (34 lines) | stat: -rw-r--r-- 1,561 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(module
  (import "spectest" "print" (func $print (param i32)))

  (memory 1)
  (data (i32.const 0) "abcdefghijklmnopqrstuvwxyz")

  (func (export "good") (param $i i32)
    (call $print (i32.load8_u offset=0 (local.get $i)))  ;; 97 'a'
    (call $print (i32.load8_u offset=1 (local.get $i)))  ;; 98 'b'
    (call $print (i32.load8_u offset=2 (local.get $i)))  ;; 99 'c'
    (call $print (i32.load8_u offset=25 (local.get $i))) ;; 122 'z'

    (call $print (i32.load16_u offset=0 (local.get $i)))          ;; 25185 'ab'
    (call $print (i32.load16_u align=1 (local.get $i)))           ;; 25185 'ab'
    (call $print (i32.load16_u offset=1 align=1 (local.get $i)))  ;; 25442 'bc'
    (call $print (i32.load16_u offset=2 (local.get $i)))          ;; 25699 'cd'
    (call $print (i32.load16_u offset=25 align=1 (local.get $i))) ;; 122 'z\0'

    (call $print (i32.load offset=0 (local.get $i)))          ;; 1684234849 'abcd'
    (call $print (i32.load offset=1 align=1 (local.get $i)))  ;; 1701077858 'bcde'
    (call $print (i32.load offset=2 align=2 (local.get $i)))  ;; 1717920867 'cdef'
    (call $print (i32.load offset=25 align=1 (local.get $i))) ;; 122 'z\0\0\0'
  )

  (func (export "bad") (param $i i32)
    (drop (i32.load offset=4294967295 (local.get $i)))
  )
)

(invoke "good" (i32.const 0))
(invoke "good" (i32.const 65507))
(assert_trap (invoke "good" (i32.const 65508)) "out of bounds memory access")
(assert_trap (invoke "bad" (i32.const 0)) "out of bounds memory access")
(assert_trap (invoke "bad" (i32.const 1)) "out of bounds memory access")