Lines Matching refs:phase

377             int phase = (int)(s >>> PHASE_SHIFT);  in doArrive()  local
378 if (phase < 0) in doArrive()
379 return phase; in doArrive()
389 if (onAdvance(phase, nextUnarrived)) in doArrive()
395 int nextPhase = (phase + 1) & MAX_PHASE; in doArrive()
398 releaseWaiters(phase); in doArrive()
401 phase = parent.doArrive(ONE_DEREGISTER); in doArrive()
405 phase = parent.doArrive(ONE_ARRIVAL); in doArrive()
407 return phase; in doArrive()
422 int phase; in doRegister() local
430 phase = (int)(s >>> PHASE_SHIFT); in doRegister()
431 if (phase < 0) in doRegister()
436 root.internalAwaitAdvance(phase, null); in doRegister()
442 long next = ((long)phase << PHASE_SHIFT) | adjust; in doRegister()
449 phase = parent.doRegister(1); in doRegister()
450 if (phase < 0) in doRegister()
457 ((long)phase << PHASE_SHIFT) | adjust)) { in doRegister()
459 phase = (int)(root.state >>> PHASE_SHIFT); in doRegister()
467 return phase; in doRegister()
483 int phase, p; in reconcileState() local
485 while ((phase = (int)(root.state >>> PHASE_SHIFT)) != in reconcileState()
489 s = (((long)phase << PHASE_SHIFT) | in reconcileState()
490 ((phase < 0) ? (s & COUNTS_MASK) : in reconcileState()
544 int phase = 0; in Phaser() local
552 phase = parent.doRegister(1); in Phaser()
560 ((long)phase << PHASE_SHIFT) | in Phaser()
670 int phase = (int)(s >>> PHASE_SHIFT); in arriveAndAwaitAdvance() local
671 if (phase < 0) in arriveAndAwaitAdvance()
672 return phase; in arriveAndAwaitAdvance()
679 return root.internalAwaitAdvance(phase, null); in arriveAndAwaitAdvance()
684 if (onAdvance(phase, nextUnarrived)) in arriveAndAwaitAdvance()
690 int nextPhase = (phase + 1) & MAX_PHASE; in arriveAndAwaitAdvance()
694 releaseWaiters(phase); in arriveAndAwaitAdvance()
712 public int awaitAdvance(int phase) { in awaitAdvance() argument
716 if (phase < 0) in awaitAdvance()
717 return phase; in awaitAdvance()
718 if (p == phase) in awaitAdvance()
719 return root.internalAwaitAdvance(phase, null); in awaitAdvance()
738 public int awaitAdvanceInterruptibly(int phase) in awaitAdvanceInterruptibly() argument
743 if (phase < 0) in awaitAdvanceInterruptibly()
744 return phase; in awaitAdvanceInterruptibly()
745 if (p == phase) { in awaitAdvanceInterruptibly()
746 QNode node = new QNode(this, phase, true, false, 0L); in awaitAdvanceInterruptibly()
747 p = root.internalAwaitAdvance(phase, node); in awaitAdvanceInterruptibly()
774 public int awaitAdvanceInterruptibly(int phase, in awaitAdvanceInterruptibly() argument
781 if (phase < 0) in awaitAdvanceInterruptibly()
782 return phase; in awaitAdvanceInterruptibly()
783 if (p == phase) { in awaitAdvanceInterruptibly()
784 QNode node = new QNode(this, phase, true, true, nanos); in awaitAdvanceInterruptibly()
785 p = root.internalAwaitAdvance(phase, node); in awaitAdvanceInterruptibly()
788 else if (p == phase) in awaitAdvanceInterruptibly()
929 protected boolean onAdvance(int phase, int registeredParties) { in onAdvance() argument
961 private void releaseWaiters(int phase) { in releaseWaiters() argument
964 AtomicReference<QNode> head = (phase & 1) == 0 ? evenQ : oddQ; in releaseWaiters()
966 q.phase != (int)(root.state >>> PHASE_SHIFT)) { in releaseWaiters()
984 private int abortWait(int phase) { in abortWait() argument
985 AtomicReference<QNode> head = (phase & 1) == 0 ? evenQ : oddQ; in abortWait()
990 if (q == null || ((t = q.thread) != null && q.phase == p)) in abortWait()
1024 private int internalAwaitAdvance(int phase, QNode node) { in internalAwaitAdvance() argument
1026 releaseWaiters(phase-1); // ensure old queue clean in internalAwaitAdvance()
1032 while ((p = (int)((s = state) >>> PHASE_SHIFT)) == phase) { in internalAwaitAdvance()
1040 node = new QNode(this, phase, false, false, 0L); in internalAwaitAdvance()
1049 AtomicReference<QNode> head = (phase & 1) == 0 ? evenQ : oddQ; in internalAwaitAdvance()
1051 if ((q == null || q.phase == phase) && in internalAwaitAdvance()
1052 (int)(state >>> PHASE_SHIFT) == phase) // avoid stale enq in internalAwaitAdvance()
1069 if (p == phase && (p = (int)(state >>> PHASE_SHIFT)) == phase) in internalAwaitAdvance()
1070 return abortWait(phase); // possibly clean up on abort in internalAwaitAdvance()
1072 releaseWaiters(phase); in internalAwaitAdvance()
1081 final int phase; field in Phaser.QNode
1090 QNode(Phaser phaser, int phase, boolean interruptible, in QNode() argument
1093 this.phase = phase; in QNode()
1104 if (phaser.getPhase() != phase) { in isReleasable()