Issue: Safety violation
Shared Variables
Output
Turn
Thread
Instructions Executed
PC
shared
1
T0: __init__()
2
T1: f()
3
T2: f()
4
T1: f()
5
T3: finally()
0
Frame __init__()
1
Push 0
2
Store shared
3
Jump 10
4
Frame f()
5
Load shared
6
Push 1
7
2-ary +
8
Store shared
9
ReturnOp(result. None)
10
Push ?PC(4)
11
Push ()
12
2-ary AddArg
13
Push {:}
14
Spawn
15
Push ?PC(4)
16
Push ()
17
2-ary AddArg
18
Push {:}
19
Spawn
20
Jump 27
21
Frame finally()
22
Load shared
23
Push 2
24
2-ary ==
25
Assert
26
ReturnOp(result. None)
27
Finally 21
28
ReturnOp(result. None)
29
DelVar result