ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/SimpleSpinLockLoops.java
(Generate patch)

Comparing jsr166/src/test/loops/SimpleSpinLockLoops.java (file contents):
Revision 1.3 by dl, Mon Feb 19 00:46:06 2007 UTC vs.
Revision 1.4 by jsr166, Thu Oct 29 23:09:08 2009 UTC

# Line 17 | Line 17 | public final class SimpleSpinLockLoops {
17  
18      public static void main(String[] args) throws Exception {
19          int maxThreads = 100;
20 <        if (args.length > 0)
20 >        if (args.length > 0)
21              maxThreads = Integer.parseInt(args[0]);
22  
23          new LockLoop(1).test();
# Line 32 | Line 32 | public final class SimpleSpinLockLoops {
32              if (i == k) {
33                  k = i << 1;
34                  i = i + (i >>> 1);
35 <            }
36 <            else
35 >            }
36 >            else
37                  i = k;
38          }
39          pool.shutdown();
# Line 53 | Line 53 | public final class SimpleSpinLockLoops {
53          }
54  
55          final void test() throws Exception {
56 <            for (int i = 0; i < nthreads; ++i)
56 >            for (int i = 0; i < nthreads; ++i)
57                  pool.execute(this);
58              barrier.await();
59              barrier.await();
# Line 73 | Line 73 | public final class SimpleSpinLockLoops {
73          public final void run() {
74              final AtomicInteger lock = this.spinlock;
75              try {
76 <                barrier.await();
76 >                barrier.await();
77                  int sum = v + 1;
78                  int x = 0;
79                  int n = iters;
# Line 92 | Line 92 | public final class SimpleSpinLockLoops {
92                          ++readBarrier;
93                      for (int l = x & 1; l > 0; --l)
94                          sum += LoopHelpers.compute6(sum);
95 <                }
95 >                }
96                  barrier.await();
97                  result += sum;
98              }
99 <            catch (Exception ie) {
100 <                return;
99 >            catch (Exception ie) {
100 >                return;
101              }
102          }
103      }
104  
105   }
106

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines