-
Notifications
You must be signed in to change notification settings - Fork 855
Expand file tree
/
Copy pathdebug_sb.wast
More file actions
48 lines (42 loc) · 1.05 KB
/
debug_sb.wast
File metadata and controls
48 lines (42 loc) · 1.05 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(module $Mem
(memory (export "shared") 1 1 shared)
)
(register "mem")
(thread $T1 (shared (module $Mem))
(register "mem" $Mem)
(module
(memory (import "mem" "shared") 1 1 shared)
(func (export "run")
(local i32)
(i32.atomic.store (i32.const 0) (i32.const 1))
(i32.atomic.load (i32.const 4))
(local.set 0)
(i32.store (i32.const 24) (local.get 0))
)
)
(invoke "run")
)
(thread $T2 (shared (module $Mem))
(register "mem" $Mem)
(module
(memory (import "mem" "shared") 1 1 shared)
(func (export "run")
(local i32)
(i32.atomic.store (i32.const 4) (i32.const 1))
(i32.atomic.load (i32.const 0))
(local.set 0)
(i32.store (i32.const 32) (local.get 0))
)
)
(invoke "run")
)
(wait $T1)
(wait $T2)
(module $Check
(memory (import "mem" "shared") 1 1 shared)
(func (export "check") (result i32 i32)
(i32.load (i32.const 32)) ;; Load L_1 first so it fails at index 0
(i32.load (i32.const 24))
)
)
(assert_return (invoke $Check "check") (i32.const 999) (i32.const 999))