changeset 105:a68df4d2111e

Migrate init.primitives.* test descriptions to new API.
author shade
date Fri, 14 Mar 2014 02:38:19 +0400
parents 9f6496370824
children da7c2d740be7
files tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/BooleanFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ByteFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/CharFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/DoubleFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/FloatFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/IntFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/LongFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ShortFencedTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/BooleanFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/ByteFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/CharFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/DoubleFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/FloatFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/IntFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/LongFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/ShortFinalTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/BooleanInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/ByteInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/CharInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/DoubleInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/FloatInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/IntInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/LongInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/ShortInstanceInitializerTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/BooleanPlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/BytePlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/CharPlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/DoublePlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/FloatPlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/IntPlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/LongPlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/ShortPlainTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/BooleanVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/ByteVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/CharVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/DoubleVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/FloatVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/IntVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/LongVolatileTest.java tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/ShortVolatileTest.java
diffstat 40 files changed, 520 insertions(+), 800 deletions(-) [+]
line wrap: on
line diff
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/BooleanFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/BooleanFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class BooleanFencedTest implements Actor2_Test<BooleanFencedTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class BooleanFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         boolean x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : (sh.x ? -1 : 0);
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ByteFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ByteFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ByteResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class ByteFencedTest implements Actor2_Test<ByteFencedTest.State, ByteResult1> {
+@ConcurrencyStressTest
+@State
+public class ByteFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         byte x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ByteResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ByteResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ByteResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ByteResult1 newResult() {
-        return new ByteResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/CharFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/CharFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.CharResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class CharFencedTest implements Actor2_Test<CharFencedTest.State, CharResult1> {
+@ConcurrencyStressTest
+@State
+public class CharFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         char x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, CharResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, CharResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(CharResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 'N' : (char) ('A' + sh.x);
     }
 
-    @Override
-    public CharResult1 newResult() {
-        return new CharResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/DoubleFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/DoubleFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.DoubleResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class DoubleFencedTest implements Actor2_Test<DoubleFencedTest.State, DoubleResult1> {
+@ConcurrencyStressTest
+@State
+public class DoubleFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         double x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, DoubleResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, DoubleResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(DoubleResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public DoubleResult1 newResult() {
-        return new DoubleResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/FloatFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/FloatFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.FloatResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class FloatFencedTest implements Actor2_Test<FloatFencedTest.State, FloatResult1> {
+@ConcurrencyStressTest
+@State
+public class FloatFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         float x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, FloatResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, FloatResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(FloatResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public FloatResult1 newResult() {
-        return new FloatResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/IntFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/IntFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class IntFencedTest implements Actor2_Test<IntFencedTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class IntFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         int x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/LongFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/LongFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.LongResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class LongFencedTest implements Actor2_Test<LongFencedTest.State, LongResult1> {
+@ConcurrencyStressTest
+@State
+public class LongFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         long x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, LongResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, LongResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(LongResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public LongResult1 newResult() {
-        return new LongResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ShortFencedTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ShortFencedTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,15 +24,18 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.fenced;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ShortResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 import org.openjdk.jcstress.util.UnsafeHolder;
 
-public class ShortFencedTest implements Actor2_Test<ShortFencedTest.State, ShortResult1> {
+@ConcurrencyStressTest
+@State
+public class ShortFencedTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         short x;
@@ -43,25 +46,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ShortResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ShortResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ShortResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ShortResult1 newResult() {
-        return new ShortResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/BooleanFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/BooleanFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class BooleanFinalTest implements Actor2_Test<BooleanFinalTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class BooleanFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final boolean x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : (sh.x ? -1 : 0);
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/ByteFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/ByteFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ByteResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ByteFinalTest implements Actor2_Test<ByteFinalTest.State, ByteResult1> {
+@ConcurrencyStressTest
+@State
+public class ByteFinalTest{
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final byte x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ByteResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ByteResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ByteResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ByteResult1 newResult() {
-        return new ByteResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/CharFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/CharFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.CharResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class CharFinalTest implements Actor2_Test<CharFinalTest.State, CharResult1> {
+@ConcurrencyStressTest
+@State
+public class CharFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final char x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, CharResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, CharResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(CharResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 'N' : (char)(sh.x + 'A');
     }
 
-    @Override
-    public CharResult1 newResult() {
-        return new CharResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/DoubleFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/DoubleFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.DoubleResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class DoubleFinalTest implements Actor2_Test<DoubleFinalTest.State, DoubleResult1> {
+@ConcurrencyStressTest
+@State
+public class DoubleFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final double x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, DoubleResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, DoubleResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(DoubleResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public DoubleResult1 newResult() {
-        return new DoubleResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/FloatFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/FloatFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.FloatResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class FloatFinalTest implements Actor2_Test<FloatFinalTest.State, FloatResult1> {
+@ConcurrencyStressTest
+@State
+public class FloatFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final float x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, FloatResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, FloatResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(FloatResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public FloatResult1 newResult() {
-        return new FloatResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/IntFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/IntFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class IntFinalTest implements Actor2_Test<IntFinalTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class IntFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final int x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/LongFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/LongFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.LongResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class LongFinalTest implements Actor2_Test<LongFinalTest.State, LongResult1> {
+@ConcurrencyStressTest
+@State
+public class LongFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final long x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, LongResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, LongResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(LongResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public LongResult1 newResult() {
-        return new LongResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/ShortFinalTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/finals/ShortFinalTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.finals;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ShortResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ShortFinalTest implements Actor2_Test<ShortFinalTest.State, ShortResult1> {
+@ConcurrencyStressTest
+@State
+public class ShortFinalTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         final short x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ShortResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ShortResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ShortResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ShortResult1 newResult() {
-        return new ShortResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/BooleanInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/BooleanInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class BooleanInstanceInitializerTest implements Actor2_Test<BooleanInstanceInitializerTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class BooleanInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         boolean x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : (sh.x ? -1 : 0);
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/ByteInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/ByteInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ByteResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ByteInstanceInitializerTest implements Actor2_Test<ByteInstanceInitializerTest.State, ByteResult1> {
+@ConcurrencyStressTest
+@State
+public class ByteInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         byte x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ByteResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ByteResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ByteResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ByteResult1 newResult() {
-        return new ByteResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/CharInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/CharInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.CharResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class CharInstanceInitializerTest implements Actor2_Test<CharInstanceInitializerTest.State, CharResult1> {
+@ConcurrencyStressTest
+@State
+public class CharInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         char x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, CharResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, CharResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(CharResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 'N' : (char) (sh.x + 'A');
     }
 
-    @Override
-    public CharResult1 newResult() {
-        return new CharResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/DoubleInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/DoubleInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.DoubleResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class DoubleInstanceInitializerTest implements Actor2_Test<DoubleInstanceInitializerTest.State, DoubleResult1> {
+@ConcurrencyStressTest
+@State
+public class DoubleInstanceInitializerTest  {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         double x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, DoubleResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, DoubleResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(DoubleResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public DoubleResult1 newResult() {
-        return new DoubleResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/FloatInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/FloatInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.FloatResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class FloatInstanceInitializerTest implements Actor2_Test<FloatInstanceInitializerTest.State, FloatResult1> {
+@ConcurrencyStressTest
+@State
+public class FloatInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         float x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, FloatResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, FloatResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(FloatResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public FloatResult1 newResult() {
-        return new FloatResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/IntInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/IntInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class IntInstanceInitializerTest implements Actor2_Test<IntInstanceInitializerTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class IntInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         int x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/LongInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/LongInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.LongResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class LongInstanceInitializerTest implements Actor2_Test<LongInstanceInitializerTest.State, LongResult1> {
+@ConcurrencyStressTest
+@State
+public class LongInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         long x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, LongResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, LongResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(LongResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public LongResult1 newResult() {
-        return new LongResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/ShortInstanceInitializerTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/instance/ShortInstanceInitializerTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.instance;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ShortResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ShortInstanceInitializerTest implements Actor2_Test<ShortInstanceInitializerTest.State, ShortResult1> {
+@ConcurrencyStressTest
+@State
+public class ShortInstanceInitializerTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         short x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ShortResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ShortResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ShortResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ShortResult1 newResult() {
-        return new ShortResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/BooleanPlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/BooleanPlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class BooleanPlainTest implements Actor2_Test<BooleanPlainTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class BooleanPlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         boolean x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : (sh.x ? -1 : 0);
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/BytePlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/BytePlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ByteResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class BytePlainTest implements Actor2_Test<BytePlainTest.State, ByteResult1> {
+@ConcurrencyStressTest
+@State
+public class BytePlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         byte x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ByteResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ByteResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ByteResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ByteResult1 newResult() {
-        return new ByteResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/CharPlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/CharPlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.CharResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class CharPlainTest implements Actor2_Test<CharPlainTest.State, CharResult1> {
+@ConcurrencyStressTest
+@State
+public class CharPlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         char x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, CharResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, CharResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(CharResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 'N' : (char) ('A' + sh.x);
     }
 
-    @Override
-    public CharResult1 newResult() {
-        return new CharResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/DoublePlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/DoublePlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.DoubleResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class DoublePlainTest implements Actor2_Test<DoublePlainTest.State, DoubleResult1> {
+@ConcurrencyStressTest
+@State
+public class DoublePlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         double x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, DoubleResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, DoubleResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(DoubleResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public DoubleResult1 newResult() {
-        return new DoubleResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/FloatPlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/FloatPlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.FloatResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class FloatPlainTest implements Actor2_Test<FloatPlainTest.State, FloatResult1> {
+@ConcurrencyStressTest
+@State
+public class FloatPlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         float x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, FloatResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, FloatResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(FloatResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public FloatResult1 newResult() {
-        return new FloatResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/IntPlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/IntPlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class IntPlainTest implements Actor2_Test<IntPlainTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class IntPlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         int x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/LongPlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/LongPlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.LongResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class LongPlainTest implements Actor2_Test<LongPlainTest.State, LongResult1> {
+@ConcurrencyStressTest
+@State
+public class LongPlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         long x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, LongResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, LongResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(LongResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public LongResult1 newResult() {
-        return new LongResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/ShortPlainTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/plain/ShortPlainTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.plain;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ShortResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ShortPlainTest implements Actor2_Test<ShortPlainTest.State, ShortResult1> {
+@ConcurrencyStressTest
+@State
+public class ShortPlainTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         short x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ShortResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ShortResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ShortResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ShortResult1 newResult() {
-        return new ShortResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/BooleanVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/BooleanVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class BooleanVolatileTest implements Actor2_Test<BooleanVolatileTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class BooleanVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile boolean x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : (sh.x ? -1 : 0);
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/ByteVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/ByteVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ByteResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ByteVolatileTest implements Actor2_Test<ByteVolatileTest.State, ByteResult1> {
+@ConcurrencyStressTest
+@State
+public class ByteVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile byte x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ByteResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ByteResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ByteResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ByteResult1 newResult() {
-        return new ByteResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/CharVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/CharVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.CharResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class CharVolatileTest implements Actor2_Test<CharVolatileTest.State, CharResult1> {
+@ConcurrencyStressTest
+@State
+public class CharVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile char x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, CharResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, CharResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(CharResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 'N' : (char) ('A' + sh.x);
     }
 
-    @Override
-    public CharResult1 newResult() {
-        return new CharResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/DoubleVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/DoubleVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.DoubleResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class DoubleVolatileTest implements Actor2_Test<DoubleVolatileTest.State, DoubleResult1> {
+@ConcurrencyStressTest
+@State
+public class DoubleVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile double x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, DoubleResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, DoubleResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(DoubleResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public DoubleResult1 newResult() {
-        return new DoubleResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/FloatVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/FloatVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.FloatResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class FloatVolatileTest implements Actor2_Test<FloatVolatileTest.State, FloatResult1> {
+@ConcurrencyStressTest
+@State
+public class FloatVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile float x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, FloatResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, FloatResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(FloatResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public FloatResult1 newResult() {
-        return new FloatResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/IntVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/IntVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.IntResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class IntVolatileTest implements Actor2_Test<IntVolatileTest.State, IntResult1> {
+@ConcurrencyStressTest
+@State
+public class IntVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile int x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, IntResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, IntResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(IntResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public IntResult1 newResult() {
-        return new IntResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/LongVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/LongVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.LongResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class LongVolatileTest implements Actor2_Test<LongVolatileTest.State, LongResult1> {
+@ConcurrencyStressTest
+@State
+public class LongVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile long x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, LongResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, LongResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(LongResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public LongResult1 newResult() {
-        return new LongResult1();
-    }
-
 }
--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/ShortVolatileTest.java	Fri Mar 14 01:59:16 2014 +0400
+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/volatiles/ShortVolatileTest.java	Fri Mar 14 02:38:19 2014 +0400
@@ -24,14 +24,17 @@
  */
 package org.openjdk.jcstress.tests.init.primitives.volatiles;
 
+import org.openjdk.jcstress.infra.annotations.Actor;
+import org.openjdk.jcstress.infra.annotations.ConcurrencyStressTest;
+import org.openjdk.jcstress.infra.annotations.State;
 import org.openjdk.jcstress.infra.results.ShortResult1;
 import org.openjdk.jcstress.tests.Actor2_Test;
 
-public class ShortVolatileTest implements Actor2_Test<ShortVolatileTest.State, ShortResult1> {
+@ConcurrencyStressTest
+@State
+public class ShortVolatileTest {
 
-    public static class State {
-        Shell shell;
-    }
+    Shell shell;
 
     public static class Shell {
         volatile short x;
@@ -41,25 +44,15 @@
         }
     }
 
-    @Override
-    public State newState() {
-        return new State();
+    @Actor
+    public void actor1() {
+        shell = new Shell();
     }
 
-    @Override
-    public void actor1(State s, ShortResult1 r) {
-        s.shell = new Shell();
-    }
-
-    @Override
-    public void actor2(State s, ShortResult1 r) {
-        Shell sh = s.shell;
+    @Actor
+    public void actor2(ShortResult1 r) {
+        Shell sh = shell;
         r.r1 = (sh == null) ? 42 : sh.x;
     }
 
-    @Override
-    public ShortResult1 newResult() {
-        return new ShortResult1();
-    }
-
 }