2 #if defined(HAS_CODE) && defined(VERBOSE)
3 cpu_printf("Pr: %d Tr: %d\n", II, t->forw);
6 default: Uerror("bad forward move");
7 case 0: /* if without executable clauses */
9 case 1: /* generic 'goto' or 'skip' */
12 case 2: /* generic 'else' */
14 if (trpt->o_pm&1) continue;
18 case 3: /* STATE 1 - line 304 "pan.___" - [((((4+1)<=8)&&(events_lost!=0)))] (0:0:0 - 1) */
20 #if defined(VERI) && !defined(NP)
21 { static int reported1 = 0;
22 if (verbose && !reported1)
23 { printf("depth %d: Claim reached state %d (line %d)\n",
24 depth, frm_st0[t->forw], src_claim[1]);
30 if (!((((4+1)<=8)&&(((int)now.events_lost)!=0))))
32 _m = 3; goto P999; /* 0 */
33 case 4: /* STATE 8 - line 309 "pan.___" - [-end-] (0:0:0 - 1) */
35 #if defined(VERI) && !defined(NP)
36 { static int reported8 = 0;
37 if (verbose && !reported8)
38 { printf("depth %d: Claim reached state %d (line %d)\n",
39 depth, frm_st0[t->forw], src_claim[8]);
45 if (!delproc(1, II)) continue;
46 _m = 3; goto P999; /* 0 */
49 case 5: /* STATE 1 - line 255 "pan.___" - [i = 0] (0:0:1 - 1) */
52 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
55 logval(":init::i", ((int)((P4 *)this)->i));
58 _m = 3; goto P999; /* 0 */
59 case 6: /* STATE 2 - line 257 "pan.___" - [((i<2))] (7:0:2 - 1) */
62 if (!((((int)((P4 *)this)->i)<2)))
64 /* merge: commit_count[i] = 0(7, 3, 7) */
66 (trpt+1)->bup.ovals = grab_ints(2);
67 (trpt+1)->bup.ovals[0] = ((int)now.commit_count[ Index(((int)((P4 *)this)->i), 2) ]);
68 now.commit_count[ Index(((P4 *)this)->i, 2) ] = 0;
70 logval("commit_count[:init::i]", ((int)now.commit_count[ Index(((int)((P4 *)this)->i), 2) ]));
73 /* merge: i = (i+1)(7, 4, 7) */
75 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
76 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
78 logval(":init::i", ((int)((P4 *)this)->i));
81 /* merge: .(goto)(0, 8, 7) */
84 _m = 3; goto P999; /* 3 */
85 case 7: /* STATE 5 - line 260 "pan.___" - [((i>=2))] (17:0:3 - 1) */
88 if (!((((int)((P4 *)this)->i)>=2)))
90 /* dead 1: i */ (trpt+1)->bup.ovals = grab_ints(3);
91 (trpt+1)->bup.ovals[0] = ((P4 *)this)->i;
96 /* merge: goto :b6(17, 6, 17) */
99 /* merge: _commit_sum = 0(17, 10, 17) */
101 (trpt+1)->bup.ovals[1] = ((int)now._commit_sum);
104 logval("_commit_sum", ((int)now._commit_sum));
107 /* merge: i = 0(17, 11, 17) */
109 (trpt+1)->bup.ovals[2] = ((int)((P4 *)this)->i);
112 logval(":init::i", ((int)((P4 *)this)->i));
115 /* merge: .(goto)(0, 18, 17) */
118 _m = 3; goto P999; /* 4 */
119 case 8: /* STATE 10 - line 263 "pan.___" - [_commit_sum = 0] (0:17:2 - 3) */
122 (trpt+1)->bup.ovals = grab_ints(2);
123 (trpt+1)->bup.ovals[0] = ((int)now._commit_sum);
126 logval("_commit_sum", ((int)now._commit_sum));
129 /* merge: i = 0(17, 11, 17) */
131 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
134 logval(":init::i", ((int)((P4 *)this)->i));
137 /* merge: .(goto)(0, 18, 17) */
140 _m = 3; goto P999; /* 2 */
141 case 9: /* STATE 12 - line 267 "pan.___" - [((i<8))] (17:0:2 - 1) */
144 if (!((((int)((P4 *)this)->i)<8)))
146 /* merge: buffer_use[i] = 0(17, 13, 17) */
148 (trpt+1)->bup.ovals = grab_ints(2);
149 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((int)((P4 *)this)->i), 8) ]);
150 now.buffer_use[ Index(((P4 *)this)->i, 8) ] = 0;
152 logval("buffer_use[:init::i]", ((int)now.buffer_use[ Index(((int)((P4 *)this)->i), 8) ]));
155 /* merge: i = (i+1)(17, 14, 17) */
157 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
158 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
160 logval(":init::i", ((int)((P4 *)this)->i));
163 /* merge: .(goto)(0, 18, 17) */
166 _m = 3; goto P999; /* 3 */
167 case 10: /* STATE 15 - line 270 "pan.___" - [((i>=8))] (0:0:1 - 1) */
170 if (!((((int)((P4 *)this)->i)>=8)))
172 /* dead 1: i */ (trpt+1)->bup.oval = ((P4 *)this)->i;
177 _m = 3; goto P999; /* 0 */
178 case 11: /* STATE 20 - line 272 "pan.___" - [(run reader())] (0:0:0 - 3) */
183 _m = 3; goto P999; /* 0 */
184 case 12: /* STATE 21 - line 273 "pan.___" - [(run cleaner())] (29:0:1 - 1) */
189 /* merge: i = 0(0, 22, 29) */
191 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
194 logval(":init::i", ((int)((P4 *)this)->i));
197 /* merge: .(goto)(0, 30, 29) */
200 _m = 3; goto P999; /* 2 */
201 case 13: /* STATE 23 - line 276 "pan.___" - [((i<4))] (25:0:1 - 1) */
204 if (!((((int)((P4 *)this)->i)<4)))
206 /* merge: refcount = (refcount+1)(0, 24, 25) */
208 (trpt+1)->bup.oval = ((int)now.refcount);
209 now.refcount = (((int)now.refcount)+1);
211 logval("refcount", ((int)now.refcount));
214 _m = 3; goto P999; /* 1 */
215 case 14: /* STATE 25 - line 278 "pan.___" - [(run tracer())] (29:0:1 - 1) */
220 /* merge: i = (i+1)(0, 26, 29) */
222 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
223 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
225 logval(":init::i", ((int)((P4 *)this)->i));
228 /* merge: .(goto)(0, 30, 29) */
231 _m = 3; goto P999; /* 2 */
232 case 15: /* STATE 27 - line 280 "pan.___" - [((i>=4))] (39:0:2 - 1) */
235 if (!((((int)((P4 *)this)->i)>=4)))
237 /* dead 1: i */ (trpt+1)->bup.ovals = grab_ints(2);
238 (trpt+1)->bup.ovals[0] = ((P4 *)this)->i;
243 /* merge: goto :b8(39, 28, 39) */
246 /* merge: i = 0(39, 32, 39) */
248 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
251 logval(":init::i", ((int)((P4 *)this)->i));
254 /* merge: .(goto)(0, 40, 39) */
257 _m = 3; goto P999; /* 3 */
258 case 16: /* STATE 32 - line 282 "pan.___" - [i = 0] (0:39:1 - 3) */
261 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
264 logval(":init::i", ((int)((P4 *)this)->i));
267 /* merge: .(goto)(0, 40, 39) */
270 _m = 3; goto P999; /* 1 */
271 case 17: /* STATE 33 - line 284 "pan.___" - [((i<1))] (35:0:1 - 1) */
274 if (!((((int)((P4 *)this)->i)<1)))
276 /* merge: refcount = (refcount+1)(0, 34, 35) */
278 (trpt+1)->bup.oval = ((int)now.refcount);
279 now.refcount = (((int)now.refcount)+1);
281 logval("refcount", ((int)now.refcount));
284 _m = 3; goto P999; /* 1 */
285 case 18: /* STATE 35 - line 286 "pan.___" - [(run switcher())] (39:0:1 - 1) */
290 /* merge: i = (i+1)(0, 36, 39) */
292 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
293 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
295 logval(":init::i", ((int)((P4 *)this)->i));
298 /* merge: .(goto)(0, 40, 39) */
301 _m = 3; goto P999; /* 2 */
302 case 19: /* STATE 37 - line 288 "pan.___" - [((i>=1))] (41:0:1 - 1) */
305 if (!((((int)((P4 *)this)->i)>=1)))
307 /* dead 1: i */ (trpt+1)->bup.oval = ((P4 *)this)->i;
312 /* merge: goto :b9(0, 38, 41) */
315 _m = 3; goto P999; /* 1 */
316 case 20: /* STATE 43 - line 291 "pan.___" - [-end-] (0:0:0 - 1) */
319 if (!delproc(1, II)) continue;
320 _m = 3; goto P999; /* 0 */
323 case 21: /* STATE 1 - line 240 "pan.___" - [((refcount==0))] (3:0:1 - 1) */
326 if (!((((int)now.refcount)==0)))
328 /* merge: refcount = (refcount+1)(0, 2, 3) */
330 (trpt+1)->bup.oval = ((int)now.refcount);
331 now.refcount = (((int)now.refcount)+1);
333 logval("refcount", ((int)now.refcount));
336 _m = 3; goto P999; /* 1 */
337 case 22: /* STATE 3 - line 242 "pan.___" - [(run switcher())] (7:0:0 - 1) */
342 /* merge: goto :b5(0, 4, 7) */
345 _m = 3; goto P999; /* 1 */
346 case 23: /* STATE 9 - line 246 "pan.___" - [-end-] (0:0:0 - 1) */
349 if (!delproc(1, II)) continue;
350 _m = 3; goto P999; /* 0 */
353 case 24: /* STATE 1 - line 203 "pan.___" - [((((((write_off/(8/2))-(read_off/(8/2)))>0)&&(((write_off/(8/2))-(read_off/(8/2)))<(255/2)))&&(((commit_count[((read_off%8)/(8/2))]-(8/2))-(((read_off/8)*8)/2))==0)))] (0:0:0 - 1) */
356 if (!((((((((int)now.write_off)/(8/2))-(((int)now.read_off)/(8/2)))>0)&&(((((int)now.write_off)/(8/2))-(((int)now.read_off)/(8/2)))<(255/2)))&&(((((int)now.commit_count[ Index(((((int)now.read_off)%8)/(8/2)), 2) ])-(8/2))-(((((int)now.read_off)/8)*8)/2))==0))))
358 _m = 3; goto P999; /* 0 */
359 case 25: /* STATE 2 - line 205 "pan.___" - [i = 0] (0:0:1 - 1) */
362 (trpt+1)->bup.oval = ((int)((P2 *)this)->i);
365 logval("reader:i", ((int)((P2 *)this)->i));
368 _m = 3; goto P999; /* 0 */
369 case 26: /* STATE 3 - line 207 "pan.___" - [((i<(8/2)))] (9:0:2 - 1) */
372 if (!((((int)((P2 *)this)->i)<(8/2))))
374 /* merge: assert((buffer_use[((read_off+i)%8)]==0))(9, 4, 9) */
376 assert((((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%8), 8) ])==0), "(buffer_use[((read_off+i)%8)]==0)", II, tt, t);
377 /* merge: buffer_use[((read_off+i)%8)] = 1(9, 5, 9) */
379 (trpt+1)->bup.ovals = grab_ints(2);
380 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%8), 8) ]);
381 now.buffer_use[ Index(((now.read_off+((P2 *)this)->i)%8), 8) ] = 1;
383 logval("buffer_use[((read_off+reader:i)%8)]", ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%8), 8) ]));
386 /* merge: i = (i+1)(9, 6, 9) */
388 (trpt+1)->bup.ovals[1] = ((int)((P2 *)this)->i);
389 ((P2 *)this)->i = (((int)((P2 *)this)->i)+1);
391 logval("reader:i", ((int)((P2 *)this)->i));
394 /* merge: .(goto)(0, 10, 9) */
397 _m = 3; goto P999; /* 4 */
398 case 27: /* STATE 7 - line 211 "pan.___" - [((i>=(8/2)))] (11:0:1 - 1) */
401 if (!((((int)((P2 *)this)->i)>=(8/2))))
403 /* dead 1: i */ (trpt+1)->bup.oval = ((P2 *)this)->i;
408 /* merge: goto :b3(0, 8, 11) */
411 _m = 3; goto P999; /* 1 */
412 /* STATE 13 - line 219 "pan.___" - [i = 0] (0:0 - 1) same as 25 (0:0 - 1) */
413 case 28: /* STATE 14 - line 221 "pan.___" - [((i<(8/2)))] (19:0:2 - 1) */
416 if (!((((int)((P2 *)this)->i)<(8/2))))
418 /* merge: buffer_use[((read_off+i)%8)] = 0(19, 15, 19) */
420 (trpt+1)->bup.ovals = grab_ints(2);
421 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%8), 8) ]);
422 now.buffer_use[ Index(((now.read_off+((P2 *)this)->i)%8), 8) ] = 0;
424 logval("buffer_use[((read_off+reader:i)%8)]", ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%8), 8) ]));
427 /* merge: i = (i+1)(19, 16, 19) */
429 (trpt+1)->bup.ovals[1] = ((int)((P2 *)this)->i);
430 ((P2 *)this)->i = (((int)((P2 *)this)->i)+1);
432 logval("reader:i", ((int)((P2 *)this)->i));
435 /* merge: .(goto)(0, 20, 19) */
438 _m = 3; goto P999; /* 3 */
439 case 29: /* STATE 17 - line 224 "pan.___" - [((i>=(8/2)))] (0:0:1 - 1) */
442 if (!((((int)((P2 *)this)->i)>=(8/2))))
444 /* dead 1: i */ (trpt+1)->bup.oval = ((P2 *)this)->i;
449 _m = 3; goto P999; /* 0 */
450 case 30: /* STATE 22 - line 226 "pan.___" - [read_off = (read_off+(8/2))] (0:0:1 - 1) */
453 (trpt+1)->bup.oval = ((int)now.read_off);
454 now.read_off = (((int)now.read_off)+(8/2));
456 logval("read_off", ((int)now.read_off));
459 _m = 3; goto P999; /* 0 */
460 case 31: /* STATE 24 - line 228 "pan.___" - [((read_off>=(4-events_lost)))] (0:0:0 - 1) */
463 if (!((((int)now.read_off)>=(4-((int)now.events_lost)))))
465 _m = 3; goto P999; /* 0 */
466 case 32: /* STATE 29 - line 230 "pan.___" - [-end-] (0:0:0 - 3) */
469 if (!delproc(1, II)) continue;
470 _m = 3; goto P999; /* 0 */
473 case 33: /* STATE 1 - line 126 "pan.___" - [prev_off = write_off] (0:10:2 - 1) */
476 (trpt+1)->bup.ovals = grab_ints(2);
477 (trpt+1)->bup.ovals[0] = ((int)((P1 *)this)->prev_off);
478 ((P1 *)this)->prev_off = ((int)now.write_off);
480 logval("tracer:prev_off", ((int)((P1 *)this)->prev_off));
483 /* merge: new_off = (prev_off+size)(10, 2, 10) */
485 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->new_off);
486 ((P1 *)this)->new_off = (((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->size));
488 logval("tracer:new_off", ((int)((P1 *)this)->new_off));
491 _m = 3; goto P999; /* 1 */
492 case 34: /* STATE 4 - line 131 "pan.___" - [((((new_off-read_off)>8)&&((new_off-read_off)<(255/2))))] (0:0:1 - 1) */
495 if (!((((((int)((P1 *)this)->new_off)-((int)now.read_off))>8)&&((((int)((P1 *)this)->new_off)-((int)now.read_off))<(255/2)))))
497 /* dead 1: new_off */ (trpt+1)->bup.oval = ((P1 *)this)->new_off;
501 ((P1 *)this)->new_off = 0;
502 _m = 3; goto P999; /* 0 */
503 case 35: /* STATE 7 - line 133 "pan.___" - [(1)] (27:0:0 - 1) */
508 /* merge: .(goto)(0, 9, 27) */
511 _m = 3; goto P999; /* 1 */
512 case 36: /* STATE 11 - line 138 "pan.___" - [((prev_off!=write_off))] (3:0:1 - 1) */
515 if (!((((int)((P1 *)this)->prev_off)!=((int)now.write_off))))
517 /* dead 1: prev_off */ (trpt+1)->bup.oval = ((P1 *)this)->prev_off;
521 ((P1 *)this)->prev_off = 0;
522 /* merge: goto cmpxchg_loop(0, 12, 3) */
525 _m = 3; goto P999; /* 1 */
526 case 37: /* STATE 14 - line 139 "pan.___" - [write_off = new_off] (0:24:2 - 1) */
529 (trpt+1)->bup.ovals = grab_ints(2);
530 (trpt+1)->bup.ovals[0] = ((int)now.write_off);
531 now.write_off = ((int)((P1 *)this)->new_off);
533 logval("write_off", ((int)now.write_off));
536 /* merge: .(goto)(24, 16, 24) */
539 /* merge: i = 0(24, 17, 24) */
541 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->i);
544 logval("tracer:i", ((int)((P1 *)this)->i));
547 /* merge: .(goto)(0, 25, 24) */
550 _m = 3; goto P999; /* 3 */
551 case 38: /* STATE 17 - line 141 "pan.___" - [i = 0] (0:24:1 - 2) */
554 (trpt+1)->bup.oval = ((int)((P1 *)this)->i);
557 logval("tracer:i", ((int)((P1 *)this)->i));
560 /* merge: .(goto)(0, 25, 24) */
563 _m = 3; goto P999; /* 1 */
564 case 39: /* STATE 18 - line 143 "pan.___" - [((i<size))] (24:0:2 - 1) */
567 if (!((((int)((P1 *)this)->i)<((int)((P1 *)this)->size))))
569 /* merge: assert((buffer_use[((prev_off+i)%8)]==0))(24, 19, 24) */
571 assert((((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%8), 8) ])==0), "(buffer_use[((prev_off+i)%8)]==0)", II, tt, t);
572 /* merge: buffer_use[((prev_off+i)%8)] = 1(24, 20, 24) */
574 (trpt+1)->bup.ovals = grab_ints(2);
575 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%8), 8) ]);
576 now.buffer_use[ Index(((((P1 *)this)->prev_off+((P1 *)this)->i)%8), 8) ] = 1;
578 logval("buffer_use[((tracer:prev_off+tracer:i)%8)]", ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%8), 8) ]));
581 /* merge: i = (i+1)(24, 21, 24) */
583 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->i);
584 ((P1 *)this)->i = (((int)((P1 *)this)->i)+1);
586 logval("tracer:i", ((int)((P1 *)this)->i));
589 /* merge: .(goto)(0, 25, 24) */
592 _m = 3; goto P999; /* 4 */
593 case 40: /* STATE 22 - line 147 "pan.___" - [((i>=size))] (26:0:1 - 1) */
596 if (!((((int)((P1 *)this)->i)>=((int)((P1 *)this)->size))))
598 /* dead 1: i */ (trpt+1)->bup.oval = ((P1 *)this)->i;
603 /* merge: goto :b0(0, 23, 26) */
606 _m = 3; goto P999; /* 1 */
607 case 41: /* STATE 28 - line 155 "pan.___" - [i = 0] (0:0:1 - 1) */
610 (trpt+1)->bup.oval = ((int)((P1 *)this)->i);
613 logval("tracer:i", ((int)((P1 *)this)->i));
616 _m = 3; goto P999; /* 0 */
617 case 42: /* STATE 29 - line 157 "pan.___" - [((i<size))] (34:0:2 - 1) */
620 if (!((((int)((P1 *)this)->i)<((int)((P1 *)this)->size))))
622 /* merge: buffer_use[((prev_off+i)%8)] = 0(34, 30, 34) */
624 (trpt+1)->bup.ovals = grab_ints(2);
625 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%8), 8) ]);
626 now.buffer_use[ Index(((((P1 *)this)->prev_off+((P1 *)this)->i)%8), 8) ] = 0;
628 logval("buffer_use[((tracer:prev_off+tracer:i)%8)]", ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%8), 8) ]));
631 /* merge: i = (i+1)(34, 31, 34) */
633 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->i);
634 ((P1 *)this)->i = (((int)((P1 *)this)->i)+1);
636 logval("tracer:i", ((int)((P1 *)this)->i));
639 /* merge: .(goto)(0, 35, 34) */
642 _m = 3; goto P999; /* 3 */
643 case 43: /* STATE 32 - line 160 "pan.___" - [((i>=size))] (44:0:4 - 1) */
646 if (!((((int)((P1 *)this)->i)>=((int)((P1 *)this)->size))))
648 /* dead 1: i */ (trpt+1)->bup.ovals = grab_ints(4);
649 (trpt+1)->bup.ovals[0] = ((P1 *)this)->i;
654 /* merge: goto :b1(44, 33, 44) */
657 /* merge: tmp_commit = (commit_count[((prev_off%8)/(8/2))]+size)(44, 37, 44) */
659 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->tmp_commit);
660 ((P1 *)this)->tmp_commit = (((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ])+((int)((P1 *)this)->size));
662 logval("tracer:tmp_commit", ((int)((P1 *)this)->tmp_commit));
665 /* merge: _commit_sum = ((_commit_sum-commit_count[((prev_off%8)/(8/2))])+tmp_commit)(44, 38, 44) */
667 (trpt+1)->bup.ovals[2] = ((int)now._commit_sum);
668 now._commit_sum = ((((int)now._commit_sum)-((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ]))+((int)((P1 *)this)->tmp_commit));
670 logval("_commit_sum", ((int)now._commit_sum));
673 /* merge: commit_count[((prev_off%8)/(8/2))] = tmp_commit(44, 39, 44) */
675 (trpt+1)->bup.ovals[3] = ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ]);
676 now.commit_count[ Index(((((P1 *)this)->prev_off%8)/(8/2)), 2) ] = ((int)((P1 *)this)->tmp_commit);
678 logval("commit_count[((tracer:prev_off%8)/(8/2))]", ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ]));
681 _m = 3; goto P999; /* 4 */
682 case 44: /* STATE 37 - line 162 "pan.___" - [tmp_commit = (commit_count[((prev_off%8)/(8/2))]+size)] (0:44:3 - 3) */
685 (trpt+1)->bup.ovals = grab_ints(3);
686 (trpt+1)->bup.ovals[0] = ((int)((P1 *)this)->tmp_commit);
687 ((P1 *)this)->tmp_commit = (((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ])+((int)((P1 *)this)->size));
689 logval("tracer:tmp_commit", ((int)((P1 *)this)->tmp_commit));
692 /* merge: _commit_sum = ((_commit_sum-commit_count[((prev_off%8)/(8/2))])+tmp_commit)(44, 38, 44) */
694 (trpt+1)->bup.ovals[1] = ((int)now._commit_sum);
695 now._commit_sum = ((((int)now._commit_sum)-((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ]))+((int)((P1 *)this)->tmp_commit));
697 logval("_commit_sum", ((int)now._commit_sum));
700 /* merge: commit_count[((prev_off%8)/(8/2))] = tmp_commit(44, 39, 44) */
702 (trpt+1)->bup.ovals[2] = ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ]);
703 now.commit_count[ Index(((((P1 *)this)->prev_off%8)/(8/2)), 2) ] = ((int)((P1 *)this)->tmp_commit);
705 logval("commit_count[((tracer:prev_off%8)/(8/2))]", ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%8)/(8/2)), 2) ]));
708 _m = 3; goto P999; /* 2 */
709 case 45: /* STATE 40 - line 170 "pan.___" - [((((((prev_off/8)*8)/2)+(8/2))-tmp_commit))] (50:0:3 - 1) */
712 if (!((((((((int)((P1 *)this)->prev_off)/8)*8)/2)+(8/2))-((int)((P1 *)this)->tmp_commit))))
714 /* dead 1: prev_off */ (trpt+1)->bup.ovals = grab_ints(3);
715 (trpt+1)->bup.ovals[0] = ((P1 *)this)->prev_off;
719 ((P1 *)this)->prev_off = 0;
720 /* dead 1: tmp_commit */ (trpt+1)->bup.ovals[1] = ((P1 *)this)->tmp_commit;
724 ((P1 *)this)->tmp_commit = 0;
725 /* merge: deliver = 1(50, 41, 50) */
727 (trpt+1)->bup.ovals[2] = ((int)deliver);
730 logval("deliver", ((int)deliver));
733 /* merge: .(goto)(50, 45, 50) */
736 _m = 3; goto P999; /* 2 */
737 case 46: /* STATE 45 - line 175 "pan.___" - [.(goto)] (0:50:0 - 2) */
741 _m = 3; goto P999; /* 0 */
742 case 47: /* STATE 43 - line 173 "pan.___" - [(1)] (50:0:0 - 1) */
747 /* merge: .(goto)(50, 45, 50) */
750 _m = 3; goto P999; /* 1 */
751 case 48: /* STATE 48 - line 179 "pan.___" - [events_lost = (events_lost+1)] (0:0:1 - 2) */
754 (trpt+1)->bup.oval = ((int)now.events_lost);
755 now.events_lost = (((int)now.events_lost)+1);
757 logval("events_lost", ((int)now.events_lost));
760 _m = 3; goto P999; /* 0 */
761 case 49: /* STATE 49 - line 181 "pan.___" - [refcount = (refcount-1)] (0:0:1 - 2) */
764 (trpt+1)->bup.oval = ((int)now.refcount);
765 now.refcount = (((int)now.refcount)-1);
767 logval("refcount", ((int)now.refcount));
770 _m = 3; goto P999; /* 0 */
771 case 50: /* STATE 51 - line 183 "pan.___" - [-end-] (0:0:0 - 1) */
774 if (!delproc(1, II)) continue;
775 _m = 3; goto P999; /* 0 */
778 case 51: /* STATE 1 - line 75 "pan.___" - [prev_off = write_off] (0:9:3 - 1) */
781 (trpt+1)->bup.ovals = grab_ints(3);
782 (trpt+1)->bup.ovals[0] = ((int)((P0 *)this)->prev_off);
783 ((P0 *)this)->prev_off = ((int)now.write_off);
785 logval("switcher:prev_off", ((int)((P0 *)this)->prev_off));
788 /* merge: size = ((8/2)-(prev_off%(8/2)))(9, 2, 9) */
790 (trpt+1)->bup.ovals[1] = ((int)((P0 *)this)->size);
791 ((P0 *)this)->size = ((8/2)-(((int)((P0 *)this)->prev_off)%(8/2)));
793 logval("switcher:size", ((int)((P0 *)this)->size));
796 /* merge: new_off = (prev_off+size)(9, 3, 9) */
798 (trpt+1)->bup.ovals[2] = ((int)((P0 *)this)->new_off);
799 ((P0 *)this)->new_off = (((int)((P0 *)this)->prev_off)+((int)((P0 *)this)->size));
801 logval("switcher:new_off", ((int)((P0 *)this)->new_off));
804 _m = 3; goto P999; /* 2 */
805 case 52: /* STATE 4 - line 80 "pan.___" - [(((((new_off-read_off)>8)&&((new_off-read_off)<(255/2)))||(size==(8/2))))] (30:0:3 - 1) */
808 if (!(((((((int)((P0 *)this)->new_off)-((int)now.read_off))>8)&&((((int)((P0 *)this)->new_off)-((int)now.read_off))<(255/2)))||(((int)((P0 *)this)->size)==(8/2)))))
810 /* dead 1: new_off */ (trpt+1)->bup.ovals = grab_ints(3);
811 (trpt+1)->bup.ovals[0] = ((P0 *)this)->new_off;
815 ((P0 *)this)->new_off = 0;
816 /* dead 1: size */ (trpt+1)->bup.ovals[1] = ((P0 *)this)->size;
820 ((P0 *)this)->size = 0;
821 /* merge: refcount = (refcount-1)(30, 5, 30) */
823 (trpt+1)->bup.ovals[2] = ((int)now.refcount);
824 now.refcount = (((int)now.refcount)-1);
826 logval("refcount", ((int)now.refcount));
829 /* merge: goto not_needed(30, 6, 30) */
832 _m = 3; goto P999; /* 2 */
833 case 53: /* STATE 8 - line 83 "pan.___" - [(1)] (18:0:0 - 1) */
838 /* merge: .(goto)(0, 10, 18) */
841 _m = 3; goto P999; /* 1 */
842 case 54: /* STATE 12 - line 88 "pan.___" - [((prev_off!=write_off))] (11:0:1 - 1) */
845 if (!((((int)((P0 *)this)->prev_off)!=((int)now.write_off))))
847 /* dead 1: prev_off */ (trpt+1)->bup.oval = ((P0 *)this)->prev_off;
851 ((P0 *)this)->prev_off = 0;
852 /* merge: goto cmpxchg_loop(0, 13, 11) */
855 _m = 3; goto P999; /* 1 */
856 case 55: /* STATE 17 - line 91 "pan.___" - [.(goto)] (0:29:0 - 1) */
860 _m = 3; goto P999; /* 0 */
861 case 56: /* STATE 15 - line 89 "pan.___" - [write_off = new_off] (0:29:1 - 1) */
864 (trpt+1)->bup.oval = ((int)now.write_off);
865 now.write_off = ((int)((P0 *)this)->new_off);
867 logval("write_off", ((int)now.write_off));
870 /* merge: .(goto)(29, 17, 29) */
873 _m = 3; goto P999; /* 1 */
874 case 57: /* STATE 19 - line 94 "pan.___" - [tmp_commit = (commit_count[((prev_off%8)/(8/2))]+size)] (0:26:3 - 1) */
877 (trpt+1)->bup.ovals = grab_ints(3);
878 (trpt+1)->bup.ovals[0] = ((int)((P0 *)this)->tmp_commit);
879 ((P0 *)this)->tmp_commit = (((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%8)/(8/2)), 2) ])+((int)((P0 *)this)->size));
881 logval("switcher:tmp_commit", ((int)((P0 *)this)->tmp_commit));
884 /* merge: _commit_sum = ((_commit_sum-commit_count[((prev_off%8)/(8/2))])+tmp_commit)(26, 20, 26) */
886 (trpt+1)->bup.ovals[1] = ((int)now._commit_sum);
887 now._commit_sum = ((((int)now._commit_sum)-((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%8)/(8/2)), 2) ]))+((int)((P0 *)this)->tmp_commit));
889 logval("_commit_sum", ((int)now._commit_sum));
892 /* merge: commit_count[((prev_off%8)/(8/2))] = tmp_commit(26, 21, 26) */
894 (trpt+1)->bup.ovals[2] = ((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%8)/(8/2)), 2) ]);
895 now.commit_count[ Index(((((P0 *)this)->prev_off%8)/(8/2)), 2) ] = ((int)((P0 *)this)->tmp_commit);
897 logval("commit_count[((switcher:prev_off%8)/(8/2))]", ((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%8)/(8/2)), 2) ]));
900 _m = 3; goto P999; /* 2 */
901 case 58: /* STATE 22 - line 102 "pan.___" - [((((((prev_off/8)*8)/2)+(8/2))-tmp_commit))] (30:0:4 - 1) */
904 if (!((((((((int)((P0 *)this)->prev_off)/8)*8)/2)+(8/2))-((int)((P0 *)this)->tmp_commit))))
906 /* dead 1: prev_off */ (trpt+1)->bup.ovals = grab_ints(4);
907 (trpt+1)->bup.ovals[0] = ((P0 *)this)->prev_off;
911 ((P0 *)this)->prev_off = 0;
912 /* dead 1: tmp_commit */ (trpt+1)->bup.ovals[1] = ((P0 *)this)->tmp_commit;
916 ((P0 *)this)->tmp_commit = 0;
917 /* merge: deliver = 1(30, 23, 30) */
919 (trpt+1)->bup.ovals[2] = ((int)deliver);
922 logval("deliver", ((int)deliver));
925 /* merge: .(goto)(30, 27, 30) */
928 /* merge: refcount = (refcount-1)(30, 28, 30) */
930 (trpt+1)->bup.ovals[3] = ((int)now.refcount);
931 now.refcount = (((int)now.refcount)-1);
933 logval("refcount", ((int)now.refcount));
936 _m = 3; goto P999; /* 3 */
937 case 59: /* STATE 27 - line 107 "pan.___" - [.(goto)] (0:30:1 - 2) */
941 /* merge: refcount = (refcount-1)(30, 28, 30) */
943 (trpt+1)->bup.oval = ((int)now.refcount);
944 now.refcount = (((int)now.refcount)-1);
946 logval("refcount", ((int)now.refcount));
949 _m = 3; goto P999; /* 1 */
950 case 60: /* STATE 25 - line 105 "pan.___" - [(1)] (30:0:1 - 1) */
955 /* merge: .(goto)(30, 27, 30) */
958 /* merge: refcount = (refcount-1)(30, 28, 30) */
960 (trpt+1)->bup.oval = ((int)now.refcount);
961 now.refcount = (((int)now.refcount)-1);
963 logval("refcount", ((int)now.refcount));
966 _m = 3; goto P999; /* 2 */
967 case 61: /* STATE 31 - line 111 "pan.___" - [-end-] (0:0:0 - 1) */
970 if (!delproc(1, II)) continue;
971 _m = 3; goto P999; /* 0 */
973 if (!((!(trpt->o_pm&4) && !(trpt->tau&128))))
975 /* else fall through */