/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)
/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
/** * Polls for and executes the given task or any other task in * its CountedCompleter computation. */ final boolean pollAndExecCC(ForkJoinTask<?> root) { ForkJoinTask<?>[] a; int b; Object o; outer: while ((b = base) - top < 0 && (a = array) != null) { long j = (((a.length - 1) & b) << ASHIFT) + ABASE; if ((o = U.getObject(a, j)) == null || !(o instanceof CountedCompleter)) break; for (CountedCompleter<?> t = (CountedCompleter<?>)o, r = t;;) { if (r == root) { if (base == b && U.compareAndSwapObject(a, j, t, null)) { base = b + 1; t.doExec(); return true; } else break; // restart } if ((r = r.completer) == null) break outer; // not part of root computation } } return false; }
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)
task.doExec(); if (root.status < 0 || (u = (int)(ctl >>> 32)) >= 0 || (u >> UAC_SHIFT) >= 0)