< prev index next >

test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypesTest.java

Print this page
rev 59083 : DRAFT 8236522: NonTearable marker interface for inline classes to enforce atomicity


  45 
  46 import javax.tools.*;
  47 
  48 /**
  49  * @test ValueTypesTest
  50  * @summary Test data movement with inline types
  51  * @modules java.base/jdk.experimental.bytecode
  52  *          java.base/jdk.experimental.value
  53  * @library /test/lib
  54  * @compile -XDemitQtypes -XDenableValueTypes -XDallowWithFieldOperator TestValue1.java TestValue2.java TestValue3.java TestValue4.java ValueTypesTest.java
  55  * @run main/othervm -Xint -Xmx128m -XX:-ShowMessageBoxOnError
  56  *                   -XX:+ExplicitGCInvokesConcurrent
  57  *                   -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  58  *                   -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=false
  59  *                   runtime.valhalla.valuetypes.ValueTypesTest
  60  * @run main/othervm -Xcomp -Xmx128m -XX:-ShowMessageBoxOnError
  61  *                   -XX:+ExplicitGCInvokesConcurrent
  62  *                   -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  63  *                   -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=false
  64  *                   runtime.valhalla.valuetypes.ValueTypesTest






  65  */
  66 public class ValueTypesTest {
  67 
  68     public static void main(String[] args) {
  69         Class<?> inlineClass = runtime.valhalla.valuetypes.TestValue1.class;
  70         Class<?> testClasses[] = {
  71                 runtime.valhalla.valuetypes.TestValue1.class,
  72                 runtime.valhalla.valuetypes.TestValue2.class,
  73                 runtime.valhalla.valuetypes.TestValue3.class,
  74                 runtime.valhalla.valuetypes.TestValue4.class
  75         };
  76         Class<?> containerClasses[] = {
  77                 runtime.valhalla.valuetypes.ContainerValue1.class,
  78                 runtime.valhalla.valuetypes.ContainerValue2.class,
  79                 runtime.valhalla.valuetypes.ContainerValue3.class,
  80                 runtime.valhalla.valuetypes.ContainerValue4.class
  81         };
  82 
  83         for (int i = 0; i < testClasses.length; i++) {
  84             try {




  45 
  46 import javax.tools.*;
  47 
  48 /**
  49  * @test ValueTypesTest
  50  * @summary Test data movement with inline types
  51  * @modules java.base/jdk.experimental.bytecode
  52  *          java.base/jdk.experimental.value
  53  * @library /test/lib
  54  * @compile -XDemitQtypes -XDenableValueTypes -XDallowWithFieldOperator TestValue1.java TestValue2.java TestValue3.java TestValue4.java ValueTypesTest.java
  55  * @run main/othervm -Xint -Xmx128m -XX:-ShowMessageBoxOnError
  56  *                   -XX:+ExplicitGCInvokesConcurrent
  57  *                   -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  58  *                   -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=false
  59  *                   runtime.valhalla.valuetypes.ValueTypesTest
  60  * @run main/othervm -Xcomp -Xmx128m -XX:-ShowMessageBoxOnError
  61  *                   -XX:+ExplicitGCInvokesConcurrent
  62  *                   -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  63  *                   -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=false
  64  *                   runtime.valhalla.valuetypes.ValueTypesTest
  65  * @run main/othervm -Xbatch -Xmx128m -XX:-ShowMessageBoxOnError
  66  *                   -XX:+ExplicitGCInvokesConcurrent
  67  *                   -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  68  *                   -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=false
  69  *                   -XX:ForceNonTearable=*
  70  *                   runtime.valhalla.valuetypes.ValueTypesTest
  71  */
  72 public class ValueTypesTest {
  73 
  74     public static void main(String[] args) {
  75         Class<?> inlineClass = runtime.valhalla.valuetypes.TestValue1.class;
  76         Class<?> testClasses[] = {
  77                 runtime.valhalla.valuetypes.TestValue1.class,
  78                 runtime.valhalla.valuetypes.TestValue2.class,
  79                 runtime.valhalla.valuetypes.TestValue3.class,
  80                 runtime.valhalla.valuetypes.TestValue4.class
  81         };
  82         Class<?> containerClasses[] = {
  83                 runtime.valhalla.valuetypes.ContainerValue1.class,
  84                 runtime.valhalla.valuetypes.ContainerValue2.class,
  85                 runtime.valhalla.valuetypes.ContainerValue3.class,
  86                 runtime.valhalla.valuetypes.ContainerValue4.class
  87         };
  88 
  89         for (int i = 0; i < testClasses.length; i++) {
  90             try {


< prev index next >