nbody.Semaphore.signal
void signal()
Vars:
int TEMP$1,
Semaphore TEMP$3,
int TEMP$0,
SimEngine TEMP$4,
boolean TEMP$2.

| Queue | Object |
| q0 | ARG |
| q1 | TEMP |
| q2 | TEMP2 |
| q3 | TEMP3 |
| q4 | TEMP4 |
| q5 | LOADADDR |
| q6 | LOADDATA |
| q7 | STOREADDR |
| q8 | STOREDATA |
| q9 | THIS |
| q10 | TEMP$0 |
| q11 | TEMP$1 |
| q12 | TEMP$2 |
| q13 | TEMP$3 |
| q14 | TEMP$4 |
- signal_top11
-
(ASSIGN (ENQUEUE NO TEMP$0) (IVARREF (THIS) semCount))
(ASSIGN (ENQUEUE NO TEMP$1) (PLUS (DEQUEUE NO TEMP$0) 1))
(ASSIGN (IVARSET (THIS) semCount) (DEQUEUE NO TEMP$1))
(ASSIGN (ENQUEUE NO TEMP$0) (IVARREF (THIS) semCount))
(TEST (EQUALS (DEQUEUE NO TEMP$0) 2))
- true_branch12
-
(ASSIGN (IVARSET (THIS) semCount) 0)
(ASSIGN (ENQUEUE NO TEMP$2) (IVARREF (THIS) top))
(TEST (NOT (DEQUEUE NO TEMP$2)))
- true_branch13
-
(CALL (METHODACCESS (LIBRARY) null) signalling semaphore)
(ASSIGN (ENQUEUE NO TEMP$3) (IVARREF (THIS) parent))
(CALL (METHODACCESS (DEQUEUE NO TEMP$3) People.Method:signal))
- after_if14
-
(TEST (IVARREF (THIS) top))
- true_branch15
-
(CALL (METHODACCESS (LIBRARY) null) signalling top)
(ASSIGN (ENQUEUE NO TEMP$4) (IVARREF (THIS) se))
(CALL (METHODACCESS (DEQUEUE NO TEMP$4) People.Method:signal))
- after_if16
-
- after_if17
-