Issue: Behavior violation: unexpected output
Shared Variables Output
Turn Thread Execution
 PC 
cnt onelane$count onelane$locks
T0: __init__()
Set onelane$locks to [ False, False ]
Set onelane$count to 0
Set cnt to [ 0, 0 ]
T1: car(0)
Set onelane$locks[0] to True
Set onelane$count to 1
Set onelane$locks[1] to True
Set onelane$locks[0] to False
T2: car(0)
Set onelane$locks[0] to True
Set onelane$count to 2
Set onelane$locks[0] to False
Print "WB enters"
T1: car(0)
Print "WB enters"

Harmony bytecode

0  Frame __init__()
1  Jump 491
2  Frame subseq(s, b, e)
3  DelVar result
4  Push ()
5  StoreVar $accu3
6  LoadVar b
7  DelVar b
8  LoadVar e
9  DelVar e
10  Push 1
11  2-ary -
12  2-ary ..
13  Push 0
14  Cut(x)
15  JumpCond False 26
16  LoadVar $accu3
17  DelVar $accu3
18  LoadVar s
19  LoadVar x
20  DelVar x
21  2-ary Closure
22  Load
23  2-ary ListAdd
24  StoreVar $accu3
25  Jump 14
26  DelVar s
27  DelVar x
28  LoadVar $accu3
29  DelVar $accu3
30  StoreVar result
31  ReturnOp(result)
32  Jump 491
33  Frame append(s, e)
34  DelVar result
35  LoadVar s
36  DelVar s
37  Push ()
38  LoadVar e
39  DelVar e
40  2-ary ListAdd
41  2-ary +
42  StoreVar result
43  ReturnOp(result)
44  Jump 491
45  Frame head(s)
46  DelVar result
47  LoadVar s
48  DelVar s
49  Push 0
50  2-ary Closure
51  Load
52  StoreVar result
53  ReturnOp(result)
54  Jump 491
55  Frame tail(s)
56  DelVar result
57  LoadVar s
58  DelVar s
59  StoreVar result
60  Push ?result
61  Push 0
62  2-ary AddArg
63  DelVar [result]
64  ReturnOp(result)
65  Jump 491
66  Frame values(d)
67  DelVar result
68  Push ()
69  StoreVar $accu52
70  LoadVar d
71  DelVar d
72  Push 0
73  Cut(_, v)
74  DelVar _
75  JumpCond False 83
76  LoadVar $accu52
77  DelVar $accu52
78  LoadVar v
79  DelVar v
80  2-ary ListAdd
81  StoreVar $accu52
82  Jump 73
83  DelVar v
84  LoadVar $accu52
85  DelVar $accu52
86  StoreVar result
87  ReturnOp(result)
88  Jump 491
89  Frame items(d)
90  DelVar result
91  Push ()
92  StoreVar $accu68
93  LoadVar d
94  DelVar d
95  Push 0
96  Cut(k, v)
97  JumpCond False 110
98  LoadVar $accu68
99  DelVar $accu68
100  Push ()
101  LoadVar k
102  DelVar k
103  2-ary ListAdd
104  LoadVar v
105  DelVar v
106  2-ary ListAdd
107  2-ary ListAdd
108  StoreVar $accu68
109  Jump 96
110  DelVar k
111  DelVar v
112  LoadVar $accu68
113  DelVar $accu68
114  StoreVar result
115  ReturnOp(result)
116  Jump 491
117  Frame qsort(a)
118  LoadVar a
119  Push ()
120  2-ary ==
121  JumpCond False 126
122  DelVar a
123  Push ()
124  StoreVar sorted_list
125  Jump 192
126  Push ()
127  LoadVar a
128  Apply PC(45)
129  2-ary ListAdd
130  LoadVar a
131  DelVar a
132  Apply PC(55)
133  2-ary ListAdd
134  StoreVar (pivot, rest)
135  Push ()
136  StoreVar $accu103
137  LoadVar rest
138  Push 0
139  DelVar v
140  Cut(v)
141  JumpCond False 153
142  LoadVar v
143  LoadVar pivot
144  2-ary <
145  JumpCond False 139
146  LoadVar $accu103
147  DelVar $accu103
148  LoadVar v
149  DelVar v
150  2-ary ListAdd
151  StoreVar $accu103
152  Jump 139
153  DelVar v
154  LoadVar $accu103
155  DelVar $accu103
156  StoreVar lower
157  Push ()
158  StoreVar $accu120
159  LoadVar rest
160  DelVar rest
161  Push 0
162  DelVar v
163  Cut(v)
164  JumpCond False 176
165  LoadVar v
166  LoadVar pivot
167  2-ary >=
168  JumpCond False 162
169  LoadVar $accu120
170  DelVar $accu120
171  LoadVar v
172  DelVar v
173  2-ary ListAdd
174  StoreVar $accu120
175  Jump 162
176  DelVar v
177  LoadVar $accu120
178  DelVar $accu120
179  StoreVar higher
180  LoadVar lower
181  DelVar lower
182  Apply PC(117)
183  Push ()
184  LoadVar pivot
185  DelVar pivot
186  2-ary ListAdd
187  LoadVar higher
188  DelVar higher
189  Apply PC(117)
190  3-ary +
191  StoreVar sorted_list
192  ReturnOp(sorted_list)
193  DelVar sorted_list
194  Jump 491
195  Frame index(d, e)
196  Push 0
197  StoreVar i
198  LoadVar d
199  LoadVar i
200  2-ary Closure
201  Load
202  LoadVar e
203  2-ary !=
204  JumpCond False 211
205  LoadVar i
206  DelVar i
207  Push 1
208  2-ary +
209  StoreVar i
210  Jump 198
211  DelVar d
212  DelVar e
213  ReturnOp(i)
214  DelVar i
215  Jump 491
216  Frame startswith(d, prefix)
217  DelVar result
218  LoadVar prefix
219  1-ary len
220  LoadVar d
221  1-ary len
222  2-ary <=
223  JumpCond False 257
224  Push ()
225  StoreVar $accu172
226  Push 0
227  LoadVar prefix
228  1-ary len
229  Push 1
230  2-ary -
231  2-ary ..
232  Push 0
233  Cut(i)
234  JumpCond False 250
235  LoadVar $accu172
236  DelVar $accu172
237  LoadVar d
238  LoadVar i
239  2-ary Closure
240  Load
241  LoadVar prefix
242  LoadVar i
243  DelVar i
244  2-ary Closure
245  Load
246  2-ary ==
247  2-ary ListAdd
248  StoreVar $accu172
249  Jump 233
250  DelVar d
251  DelVar i
252  DelVar prefix
253  LoadVar $accu172
254  DelVar $accu172
255  1-ary all
256  Jump 260
257  DelVar d
258  DelVar prefix
259  Push False
260  StoreVar result
261  ReturnOp(result)
262  Jump 491
263  Frame foldl(d, f, z)
264  DelVar result
265  LoadVar z
266  DelVar z
267  StoreVar result
268  LoadVar d
269  DelVar d
270  Push 0
271  Cut(e)
272  JumpCond False 285
273  LoadVar f
274  Push ()
275  LoadVar result
276  DelVar result
277  2-ary ListAdd
278  LoadVar e
279  DelVar e
280  2-ary ListAdd
281  2-ary Closure
282  Load
283  StoreVar result
284  Jump 271
285  DelVar e
286  DelVar f
287  ReturnOp(result)
288  Jump 491
289  Frame foldr(d, f, z)
290  DelVar result
291  LoadVar d
292  1-ary len
293  Push 0
294  2-ary ==
295  JumpCond False 301
296  DelVar d
297  DelVar f
298  LoadVar z
299  DelVar z
300  Jump 323
301  LoadVar f
302  Push ()
303  LoadVar d
304  Push 0
305  2-ary Closure
306  Load
307  2-ary ListAdd
308  Push ()
309  LoadVar d
310  DelVar d
311  Apply PC(55)
312  2-ary ListAdd
313  LoadVar f
314  DelVar f
315  2-ary ListAdd
316  LoadVar z
317  DelVar z
318  2-ary ListAdd
319  Apply PC(289)
320  2-ary ListAdd
321  2-ary Closure
322  Load
323  StoreVar result
324  ReturnOp(result)
325  Jump 491
326  Frame reduce(f, d, z)
327  DelVar result
328  Push ()
329  LoadVar d
330  DelVar d
331  2-ary ListAdd
332  LoadVar f
333  DelVar f
334  2-ary ListAdd
335  LoadVar z
336  DelVar z
337  2-ary ListAdd
338  Apply PC(263)
339  StoreVar result
340  ReturnOp(result)
341  Jump 491
342  Frame permuted(s)
343  Push ()
344  StoreVar perm
345  LoadVar s
346  DelVar s
347  StoreVar c
348  LoadVar c
349  Push {}
350  2-ary !=
351  JumpCond False 371
352  LoadVar c
353  Choose
354  StoreVar e
355  LoadVar perm
356  DelVar perm
357  Push ()
358  LoadVar e
359  2-ary ListAdd
360  2-ary +
361  StoreVar perm
362  LoadVar c
363  DelVar c
364  Push {}
365  LoadVar e
366  DelVar e
367  2-ary SetAdd
368  2-ary -
369  StoreVar c
370  Jump 348
371  DelVar c
372  ReturnOp(perm)
373  DelVar perm
374  Jump 491
375  Frame filter(cond, s)
376  Push ()
377  StoreVar $accu292
378  LoadVar s
379  DelVar s
380  Push 0
381  DelVar e
382  Cut(e)
383  JumpCond False 396
384  LoadVar cond
385  LoadVar e
386  2-ary Closure
387  Load
388  JumpCond False 381
389  LoadVar $accu292
390  DelVar $accu292
391  LoadVar e
392  DelVar e
393  2-ary ListAdd
394  StoreVar $accu292
395  Jump 381
396  DelVar cond
397  DelVar e
398  LoadVar $accu292
399  DelVar $accu292
400  StoreVar t
401  ReturnOp(t)
402  DelVar t
403  Jump 491
404  Frame map(f, s)
405  Push ()
406  StoreVar $accu313
407  LoadVar s
408  DelVar s
409  Push 0
410  Cut(e)
411  JumpCond False 422
412  LoadVar $accu313
413  DelVar $accu313
414  LoadVar f
415  LoadVar e
416  DelVar e
417  2-ary Closure
418  Load
419  2-ary ListAdd
420  StoreVar $accu313
421  Jump 410
422  DelVar e
423  DelVar f
424  LoadVar $accu313
425  DelVar $accu313
426  StoreVar t
427  ReturnOp(t)
428  DelVar t
429  Jump 491
430  Frame empty()
431  Push {:}
432  StoreVar bg
433  ReturnOp(bg)
434  DelVar bg
435  Jump 491
436  Frame fromSet(s)
437  Push {:}
438  StoreVar $accu337
439  LoadVar s
440  DelVar s
441  Push 0
442  Cut(elt)
443  JumpCond False 452
444  LoadVar $accu337
445  DelVar $accu337
446  LoadVar elt
447  DelVar elt
448  Push 1
449  3-ary DictAdd
450  StoreVar $accu337
451  Jump 442
452  DelVar elt
453  LoadVar $accu337
454  DelVar $accu337
455  StoreVar bg
456  ReturnOp(bg)
457  DelVar bg
458  Jump 491
459  Frame fromList(a)
460  Push {:}
461  StoreVar bg
462  LoadVar a
463  DelVar a
464  Push 0
465  Cut(v)
466  JumpCond False 488
467  LoadVar v
468  LoadVar bg
469  2-ary in
470  JumpCond False 481
471  Push ?bg
472  LoadVar v
473  DelVar v
474  2-ary AddArg
475  Dup
476  Load
477  Push 1
478  2-ary +
479  StoreVar [bg]
480  Jump 465
481  Push ?bg
482  LoadVar v
483  DelVar v
484  2-ary AddArg
485  Push 1
486  StoreVar [bg]
487  Jump 465
488  DelVar v
489  ReturnOp(bg)
490  DelVar bg
491  Push PC(494)
492  Builtin(bag$multiplicity)
493  Jump 513
494  Frame multiplicity(bg, elt)
495  LoadVar elt
496  LoadVar bg
497  2-ary in
498  JumpCond False 507
499  LoadVar bg
500  DelVar bg
501  LoadVar elt
502  DelVar elt
503  2-ary Closure
504  Load
505  StoreVar count
506  Jump 511
507  DelVar bg
508  DelVar elt
509  Push 0
510  StoreVar count
511  ReturnOp(count)
512  DelVar count
513  Push PC(516)
514  Builtin(bag$size)
515  Jump 535
516  Frame size(bg)
517  Push 0
518  StoreVar count
519  LoadVar bg
520  DelVar bg
521  Push 0
522  Cut(_, c)
523  DelVar _
524  JumpCond False 532
525  LoadVar count
526  DelVar count
527  LoadVar c
528  DelVar c
529  2-ary +
530  StoreVar count
531  Jump 522
532  DelVar c
533  ReturnOp(count)
534  DelVar count
535  Push PC(538)
536  Builtin(bag$bmin)
537  Jump 554
538  Frame bmin(bg)
539  AtomicInc(lazy)
540  ReadonlyInc
541  LoadVar bg
542  Push {:}
543  2-ary !=
544  Assert
545  ReadonlyDec
546  AtomicDec
547  LoadVar bg
548  DelVar bg
549  1-ary keys
550  1-ary min
551  StoreVar count
552  ReturnOp(count)
553  DelVar count
554  Push PC(557)
555  Builtin(bag$bmax)
556  Jump 582
557  Frame bmax(bg)
558  AtomicInc(lazy)
559  ReadonlyInc
560  LoadVar bg
561  Push {:}
562  2-ary !=
563  Assert
564  ReadonlyDec
565  AtomicDec
566  LoadVar bg
567  DelVar bg
568  1-ary keys
569  1-ary max
570  StoreVar count
571  ReturnOp(count)
572  DelVar count
573  Jump 582
574  Frame bchoose(bg)
575  LoadVar bg
576  DelVar bg
577  1-ary keys
578  Choose
579  StoreVar elt
580  ReturnOp(elt)
581  DelVar elt
582  Push PC(585)
583  Builtin(bag$add)
584  Jump 611
585  Frame add(bg, elt)
586  DelVar result
587  LoadVar bg
588  DelVar bg
589  StoreVar result
590  LoadVar elt
591  LoadVar result
592  2-ary in
593  JumpCond False 604
594  Push ?result
595  LoadVar elt
596  DelVar elt
597  2-ary AddArg
598  Dup
599  Load
600  Push 1
601  2-ary +
602  StoreVar [result]
603  Jump 610
604  Push ?result
605  LoadVar elt
606  DelVar elt
607  2-ary AddArg
608  Push 1
609  StoreVar [result]
610  ReturnOp(result)
611  Push PC(614)
612  Builtin(bag$remove)
613  Jump 1106
614  Frame remove(bg, elt)
615  DelVar result
616  LoadVar bg
617  DelVar bg
618  StoreVar result
619  LoadVar elt
620  LoadVar result
621  2-ary in
622  JumpCond False 654
623  AtomicInc(lazy)
624  ReadonlyInc
625  LoadVar result
626  LoadVar elt
627  2-ary Closure
628  Load
629  Push 0
630  2-ary >
631  Assert
632  ReadonlyDec
633  AtomicDec
634  Push ?result
635  LoadVar elt
636  2-ary AddArg
637  Dup
638  Load
639  Push 1
640  2-ary -
641  StoreVar [result]
642  LoadVar result
643  LoadVar elt
644  2-ary Closure
645  Load
646  Push 0
647  2-ary ==
648  JumpCond False 654
649  Push ?result
650  LoadVar elt
651  DelVar elt
652  2-ary AddArg
653  DelVar [result]
654  DelVar elt
655  ReturnOp(result)
656  Jump 1106
657  Frame combinations(bg, k)
658  DelVar result
659  LoadVar k
660  Push 0
661  2-ary ==
662  JumpCond False 670
663  DelVar bg
664  DelVar k
665  Push {}
666  Push {:}
667  2-ary SetAdd
668  StoreVar result
669  Jump 745
670  LoadVar bg
671  Apply PC(516)
672  StoreVar n
673  LoadVar k
674  LoadVar n
675  2-ary >
676  JumpCond False 683
677  DelVar bg
678  DelVar k
679  DelVar n
680  Push {}
681  StoreVar result
682  Jump 745
683  LoadVar k
684  LoadVar n
685  DelVar n
686  2-ary ==
687  JumpCond False 695
688  DelVar k
689  Push {}
690  LoadVar bg
691  DelVar bg
692  2-ary SetAdd
693  StoreVar result
694  Jump 745
695  LoadVar bg
696  Apply PC(538)
697  StoreVar hd
698  Push ()
699  LoadVar bg
700  DelVar bg
701  2-ary ListAdd
702  LoadVar hd
703  2-ary ListAdd
704  Apply PC(614)
705  StoreVar tl
706  Push {}
707  StoreVar $accu560
708  Push ()
709  LoadVar tl
710  2-ary ListAdd
711  LoadVar k
712  Push 1
713  2-ary -
714  2-ary ListAdd
715  Apply PC(657)
716  Push 0
717  Cut(x)
718  JumpCond False 731
719  LoadVar $accu560
720  DelVar $accu560
721  Push ()
722  LoadVar x
723  DelVar x
724  2-ary ListAdd
725  LoadVar hd
726  2-ary ListAdd
727  Apply PC(585)
728  2-ary SetAdd
729  StoreVar $accu560
730  Jump 717
731  DelVar hd
732  DelVar x
733  LoadVar $accu560
734  DelVar $accu560
735  Push ()
736  LoadVar tl
737  DelVar tl
738  2-ary ListAdd
739  LoadVar k
740  DelVar k
741  2-ary ListAdd
742  Apply PC(657)
743  2-ary |
744  StoreVar result
745  ReturnOp(result)
746  Jump 1106
747  Frame atomic_load(p)
748  AtomicInc(eager)
749  LoadVar p
750  DelVar p
751  Load
752  StoreVar current
753  AtomicDec
754  ReturnOp(current)
755  DelVar current
756  Jump 1106
757  Frame atomic_store(p, v)
758  AtomicInc(eager)
759  LoadVar p
760  DelVar p
761  LoadVar v
762  DelVar v
763  Store
764  AtomicDec
765  ReturnOp(result. None)
766  Jump 1106
767  Frame tas(lk)
768  AtomicInc(eager)
769  LoadVar lk
770  Load
771  StoreVar oldvalue
772  LoadVar lk
773  DelVar lk
774  Push True
775  Store
776  AtomicDec
777  ReturnOp(oldvalue)
778  DelVar oldvalue
779  Jump 1106
780  Frame cas(p, old, new)
781  AtomicInc(eager)
782  LoadVar p
783  Load
784  LoadVar old
785  DelVar old
786  2-ary ==
787  StoreVar success
788  LoadVar success
789  JumpCond False 795
790  LoadVar p
791  DelVar p
792  LoadVar new
793  DelVar new
794  Store
795  DelVar new
796  DelVar p
797  AtomicDec
798  ReturnOp(success)
799  DelVar success
800  Jump 1106
801  Frame BinSema(initial)
802  AtomicInc(lazy)
803  ReadonlyInc
804  LoadVar initial
805  Push {}
806  Push False
807  2-ary SetAdd
808  Push True
809  2-ary SetAdd
810  2-ary in
811  Assert
812  ReadonlyDec
813  AtomicDec
814  LoadVar initial
815  DelVar initial
816  StoreVar sema
817  ReturnOp(sema)
818  DelVar sema
819  Jump 1106
820  Frame Lock()
821  DelVar result
822  Push False
823  StoreVar result
824  ReturnOp(result)
825  Jump 1106
826  Frame acquired(lock)
827  DelVar result
828  LoadVar lock
829  DelVar lock
830  Load
831  StoreVar result
832  ReturnOp(result)
833  Jump 1106
834  Frame held(lock)
835  DelVar result
836  LoadVar lock
837  DelVar lock
838  Load
839  StoreVar result
840  ReturnOp(result)
841  Jump 1106
842  Frame acquire(lock)
843  AtomicInc(eager)
844  ReadonlyInc
845  LoadVar lock
846  Load
847  1-ary not
848  JumpCond False 850
849  Jump 853
850  ReadonlyDec
851  AtomicDec
852  Jump 843
853  ReadonlyDec
854  LoadVar lock
855  DelVar lock
856  Push True
857  Store
858  AtomicDec
859  ReturnOp(result. None)
860  Jump 1106
861  Frame release(lock)
862  AtomicInc(eager)
863  AtomicInc(lazy)
864  ReadonlyInc
865  LoadVar lock
866  Load
867  Push "release(): lock not owned"
868  Assert2
869  ReadonlyDec
870  AtomicDec
871  LoadVar lock
872  DelVar lock
873  Push False
874  Store
875  AtomicDec
876  ReturnOp(result. None)
877  Jump 1106
878  Frame Condition()
879  DelVar result
880  Push PC(430)
881  Push ()
882  2-ary Closure
883  Load
884  StoreVar result
885  ReturnOp(result)
886  Jump 1106
887  Frame wait(c, lk)
888  Push 0
889  StoreVar cnt
890  DelVar cnt
891  Push ()
892  Save
893  Continue
894  StoreVar ((), ctx)
895  AtomicInc(eager)
896  Push PC(494)
897  Push ()
898  LoadVar c
899  Load
900  2-ary ListAdd
901  LoadVar ctx
902  2-ary ListAdd
903  2-ary Closure
904  Load
905  StoreVar cnt
906  LoadVar c
907  Push PC(585)
908  Push ()
909  LoadVar c
910  Load
911  2-ary ListAdd
912  LoadVar ctx
913  2-ary ListAdd
914  2-ary Closure
915  Load
916  Store
917  LoadVar lk
918  Push False
919  Store
920  AtomicDec
921  AtomicInc(eager)
922  ReadonlyInc
923  LoadVar lk
924  Load
925  1-ary not
926  JumpCond False 939
927  Push PC(494)
928  Push ()
929  LoadVar c
930  Load
931  2-ary ListAdd
932  LoadVar ctx
933  2-ary ListAdd
934  2-ary Closure
935  Load
936  LoadVar cnt
937  2-ary <=
938  Jump 940
939  Push False
940  JumpCond False 945
941  DelVar c
942  DelVar cnt
943  DelVar ctx
944  Jump 948
945  ReadonlyDec
946  AtomicDec
947  Jump 921
948  ReadonlyDec
949  LoadVar lk
950  DelVar lk
951  Push True
952  Store
953  AtomicDec
954  ReturnOp(result. None)
955  Jump 1106
956  Frame notify(c)
957  AtomicInc(eager)
958  LoadVar c
959  Load
960  Push PC(430)
961  Push ()
962  2-ary Closure
963  Load
964  2-ary !=
965  JumpCond False 982
966  LoadVar c
967  Push PC(614)
968  Push ()
969  LoadVar c
970  Load
971  2-ary ListAdd
972  Push PC(574)
973  LoadVar c
974  DelVar c
975  Load
976  2-ary Closure
977  Load
978  2-ary ListAdd
979  2-ary Closure
980  Load
981  Store
982  DelVar c
983  AtomicDec
984  ReturnOp(result. None)
985  Jump 1106
986  Frame notify_all(c)
987  AtomicInc(eager)
988  LoadVar c
989  DelVar c
990  Push PC(430)
991  Push ()
992  2-ary Closure
993  Load
994  Store
995  AtomicDec
996  ReturnOp(result. None)
997  Jump 1106
998  Frame notifyAll(c)
999  AtomicInc(eager)
1000  LoadVar c
1001  DelVar c
1002  Push PC(430)
1003  Push ()
1004  2-ary Closure
1005  Load
1006  Store
1007  AtomicDec
1008  ReturnOp(result. None)
1009  Jump 1106
1010  Frame Semaphore(cnt)
1011  DelVar result
1012  LoadVar cnt
1013  DelVar cnt
1014  StoreVar result
1015  ReturnOp(result)
1016  Jump 1106
1017  Frame P(sema)
1018  AtomicInc(eager)
1019  ReadonlyInc
1020  LoadVar sema
1021  Load
1022  Push 0
1023  2-ary >
1024  JumpCond False 1026
1025  Jump 1029
1026  ReadonlyDec
1027  AtomicDec
1028  Jump 1018
1029  ReadonlyDec
1030  LoadVar sema
1031  DelVar sema
1032  Dup
1033  Load
1034  Push 1
1035  2-ary -
1036  Store
1037  AtomicDec
1038  ReturnOp(result. None)
1039  Jump 1106
1040  Frame V(sema)
1041  AtomicInc(eager)
1042  LoadVar sema
1043  DelVar sema
1044  Dup
1045  Load
1046  Push 1
1047  2-ary +
1048  Store
1049  AtomicDec
1050  ReturnOp(result. None)
1051  Jump 1106
1052  Frame Queue()
1053  DelVar result
1054  Push ()
1055  StoreVar result
1056  ReturnOp(result)
1057  Jump 1106
1058  Frame get(q)
1059  AtomicInc(eager)
1060  DelVar result
1061  ReadonlyInc
1062  LoadVar q
1063  Load
1064  Push ()
1065  2-ary !=
1066  JumpCond False 1068
1067  Jump 1071
1068  ReadonlyDec
1069  AtomicDec
1070  Jump 1059
1071  ReadonlyDec
1072  Push PC(45)
1073  LoadVar q
1074  Load
1075  2-ary Closure
1076  Load
1077  StoreVar result
1078  LoadVar q
1079  Push PC(55)
1080  LoadVar q
1081  DelVar q
1082  Load
1083  2-ary Closure
1084  Load
1085  Store
1086  AtomicDec
1087  ReturnOp(result)
1088  Jump 1106
1089  Frame put(q, item)
1090  AtomicInc(eager)
1091  LoadVar q
1092  Push PC(33)
1093  Push ()
1094  LoadVar q
1095  DelVar q
1096  Load
1097  2-ary ListAdd
1098  LoadVar item
1099  DelVar item
1100  2-ary ListAdd
1101  2-ary Closure
1102  Load
1103  Store
1104  AtomicDec
1105  ReturnOp(result. None)
1106  Push ()
1107  Push ()
1108  Apply PC(820)
1109  2-ary ListAdd
1110  Push ()
1111  Apply PC(820)
1112  2-ary ListAdd
1113  Store onelane$locks
1114  Push 0
1115  Store onelane$count
1116  Jump 1190
1117  Frame enter(direction)
1118  LoadVar direction
1119  DelVar direction
1120  Push 0
1121  2-ary ==
1122  JumpCond False 1147
1123  Push ?onelane$locks
1124  Push 0
1125  2-ary AddArg
1126  Apply PC(842)
1127  Pop
1128  Load onelane$count
1129  Push 1
1130  2-ary +
1131  Store onelane$count
1132  Load onelane$count
1133  Push 1
1134  2-ary ==
1135  JumpCond False 1141
1136  Push ?onelane$locks
1137  Push 1
1138  2-ary AddArg
1139  Apply PC(842)
1140  Pop
1141  Push ?onelane$locks
1142  Push 0
1143  2-ary AddArg
1144  Apply PC(861)
1145  Pop
1146  Jump 1152
1147  Push ?onelane$locks
1148  Push 1
1149  2-ary AddArg
1150  Apply PC(842)
1151  Pop
1152  ReturnOp(result. None)
1153  Jump 1190
1154  Frame exit(direction)
1155  LoadVar direction
1156  DelVar direction
1157  Push 0
1158  2-ary ==
1159  JumpCond False 1184
1160  Push ?onelane$locks
1161  Push 0
1162  2-ary AddArg
1163  Apply PC(842)
1164  Pop
1165  Load onelane$count
1166  Push 1
1167  2-ary -
1168  Store onelane$count
1169  Load onelane$count
1170  Push 0
1171  2-ary ==
1172  JumpCond False 1178
1173  Push ?onelane$locks
1174  Push 1
1175  2-ary AddArg
1176  Apply PC(861)
1177  Pop
1178  Push ?onelane$locks
1179  Push 0
1180  2-ary AddArg
1181  Apply PC(861)
1182  Pop
1183  Jump 1189
1184  Push ?onelane$locks
1185  Push 1
1186  2-ary AddArg
1187  Apply PC(861)
1188  Pop
1189  ReturnOp(result. None)
1190  Push ()
1191  Push 0
1192  2-ary ListAdd
1193  Push 0
1194  2-ary ListAdd
1195  Store cnt
1196  Jump 1219
1197  Frame car(direction)
1198  LoadVar direction
1199  Apply PC(1117)
1200  Pop
1201  LoadVar direction
1202  Push 1
1203  2-ary ==
1204  JumpCond False 1210
1205  Push "EB enters"
1206  Print
1207  Push "EB exits"
1208  Print
1209  Jump 1214
1210  Push "WB enters"
1211  Print
1212  Push "WB exits"
1213  Print
1214  LoadVar direction
1215  DelVar direction
1216  Apply PC(1154)
1217  Pop
1218  ReturnOp(result. None)
1219  Push 0
1220  Push 2
1221  Push 1
1222  2-ary -
1223  2-ary ..
1224  Push 0
1225  Cut(i)
1226  DelVar i
1227  JumpCond False 1234
1228  Push ?PC(1197)
1229  Push 0
1230  2-ary AddArg
1231  Push {:}
1232  Spawn
1233  Jump 1225
1234  Push 0
1235  Push 2
1236  Push 1
1237  2-ary -
1238  2-ary ..
1239  Push 0
1240  Cut(i)
1241  DelVar i
1242  JumpCond False 1249
1243  Push ?PC(1197)
1244  Push 1
1245  2-ary AddArg
1246  Push {:}
1247  Spawn
1248  Jump 1240
1249  ReturnOp(result. None)
1250  DelVar result
Threads
 ID   Status  Stack Trace  Stack Top 
T0 init
T1 init
T2 init
T3 init
T4 init