--- jsr166/src/test/loops/LoopHelpers.java 2005/08/07 19:25:55 1.4 +++ jsr166/src/test/loops/LoopHelpers.java 2006/02/13 12:39:23 1.6 @@ -91,6 +91,7 @@ class LoopHelpers { return y; } + // FNV: (x ^ 0x811c9dc5) * 0x01000193; 15485863; /** * Marsaglia xorshift for longs @@ -168,18 +169,19 @@ class LoopHelpers { } public static class BarrierTimer implements Runnable { - public volatile long startTime; - public volatile long endTime; + volatile boolean started; + volatile long startTime; + volatile long endTime; public void run() { long t = System.nanoTime(); - if (startTime == 0) + if (!started) { + started = true; startTime = t; - else + } else endTime = t; } public void clear() { - startTime = 0; - endTime = 0; + started = false; } public long getTime() { return endTime - startTime;