--- jsr166/src/test/loops/DynamicAsyncFib.java 2012/07/04 20:07:01 1.6 +++ jsr166/src/test/loops/DynamicAsyncFib.java 2015/09/12 18:23:25 1.7 @@ -17,13 +17,14 @@ public final class DynamicAsyncFib exten DynamicAsyncFib f = this; int n = f.number; while (n > 1 && getSurplusQueuedTaskCount() <= 3) { - DynamicAsyncFib l = new DynamicAsyncFib(--n); - DynamicAsyncFib r = new DynamicAsyncFib(n - 1); + DynamicAsyncFib l = new DynamicAsyncFib(n - 1); + DynamicAsyncFib r = new DynamicAsyncFib(n - 2); f.linkSubtasks(l, r); r.fork(); f = l; + --n; } - f.number = seqFib(n); + f.number = n <= 1? n : seqFib(n); f.complete(); return false; }