changeset 22431:e62921416112

All fields in TruffleOptions should be final. Fixing API design omission.
author Jaroslav Tulach <jaroslav.tulach@oracle.com>
date Thu, 03 Dec 2015 17:28:45 +0100
parents 1c39c96a1703
children 079cd9183128
files truffle/com.oracle.truffle.api/snapshot.sigtest truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java
diffstat 2 files changed, 13 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api/snapshot.sigtest	Thu Dec 03 14:40:52 2015 +0100
+++ b/truffle/com.oracle.truffle.api/snapshot.sigtest	Thu Dec 03 17:28:45 2015 +0100
@@ -149,9 +149,9 @@
 fld public final static boolean DetailedRewriteReasons
 fld public final static boolean TraceASTJSON
 fld public final static boolean TraceRewrites
-fld public static com.oracle.truffle.api.nodes.NodeCost TraceRewritesFilterFromCost
-fld public static com.oracle.truffle.api.nodes.NodeCost TraceRewritesFilterToCost
-fld public static java.lang.String TraceRewritesFilterClass
+fld public final static com.oracle.truffle.api.nodes.NodeCost TraceRewritesFilterFromCost
+fld public final static com.oracle.truffle.api.nodes.NodeCost TraceRewritesFilterToCost
+fld public final static java.lang.String TraceRewritesFilterClass
 supr java.lang.Object
 
 CLSS public abstract interface com.oracle.truffle.api.TruffleRuntime
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java	Thu Dec 03 14:40:52 2015 +0100
+++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java	Thu Dec 03 17:28:45 2015 +0100
@@ -58,7 +58,7 @@
      * <p>
      * Can be set with {@code -Dtruffle.TraceRewritesFilterClass=name}.
      */
-    public static String TraceRewritesFilterClass;
+    public static final String TraceRewritesFilterClass;
 
     /**
      * Filters rewrites which does not contain the {@link NodeCost} in its source {@link NodeInfo}.
@@ -67,7 +67,7 @@
      * Can be set with
      * {@code -Dtruffle.TraceRewritesFilterFromCost=NONE|MONOMORPHIC|POLYMORPHIC|MEGAMORPHIC}.
      */
-    public static NodeCost TraceRewritesFilterFromCost;
+    public static final NodeCost TraceRewritesFilterFromCost;
 
     /**
      * Filters rewrites which does not contain the {@link NodeCost} in its target {@link NodeInfo}.
@@ -76,7 +76,7 @@
      * Can be set with
      * {@code -Dtruffle.TraceRewritesFilterToKind=UNINITIALIZED|SPECIALIZED|POLYMORPHIC|GENERIC}.
      */
-    public static NodeCost TraceRewritesFilterToCost;
+    public static final NodeCost TraceRewritesFilterToCost;
 
     /**
      * Enables the dumping of Node creations and AST rewrites in JSON format.
@@ -100,12 +100,13 @@
 
     static {
         final boolean[] values = new boolean[4];
+        final Object[] objs = new Object[3];
         AccessController.doPrivileged(new PrivilegedAction<Void>() {
             public Void run() {
                 values[0] = Boolean.getBoolean("truffle.TraceRewrites");
-                TraceRewritesFilterClass = System.getProperty("truffle.TraceRewritesFilterClass");
-                TraceRewritesFilterFromCost = parseNodeInfoKind(System.getProperty("truffle.TraceRewritesFilterFromCost"));
-                TraceRewritesFilterToCost = parseNodeInfoKind(System.getProperty("truffle.TraceRewritesFilterToCost"));
+                objs[0] = System.getProperty("truffle.TraceRewritesFilterClass");
+                objs[1] = parseNodeInfoKind(System.getProperty("truffle.TraceRewritesFilterFromCost"));
+                objs[2] = parseNodeInfoKind(System.getProperty("truffle.TraceRewritesFilterToCost"));
                 values[1] = Boolean.getBoolean("truffle.DetailedRewriteReasons");
                 values[2] = Boolean.getBoolean("truffle.TraceASTJSON");
                 values[3] = Boolean.getBoolean("com.oracle.truffle.aot");
@@ -116,5 +117,8 @@
         DetailedRewriteReasons = values[1];
         TraceASTJSON = values[2];
         AOT = values[3];
+        TraceRewritesFilterClass = (String) objs[0];
+        TraceRewritesFilterFromCost = (NodeCost) objs[1];
+        TraceRewritesFilterToCost = (NodeCost) objs[2];
     }
 }