# HG changeset patch # User Jaroslav Tulach # Date 1449160125 -3600 # Node ID e62921416112d87c09e4295f5a51249c32530260 # Parent 1c39c96a170361f9c9fdd6937774de74ebe2eddb All fields in TruffleOptions should be final. Fixing API design omission. diff -r 1c39c96a1703 -r e62921416112 truffle/com.oracle.truffle.api/snapshot.sigtest --- 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 diff -r 1c39c96a1703 -r e62921416112 truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java --- 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 @@ *

* 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() { 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]; } }