Mercurial > hg > graal-jvmci-8
changeset 21534:2cb94a7ae1b7
avoid unnecessary loading of regex classes when assertions are disabled
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java Sun May 24 14:44:28 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java Sun May 24 16:29:41 2015 +0200 @@ -84,7 +84,14 @@ } }; - private static final Pattern NAME_PATTERN = Pattern.compile("[A-Z][A-Za-z0-9]+"); + @SuppressWarnings("all") + private static boolean assertionsEnabled() { + boolean enabled = false; + assert enabled = true; + return enabled; + } + + private static final Pattern NAME_PATTERN = assertionsEnabled() ? Pattern.compile("[A-Z][A-Za-z0-9]+") : null; private static boolean checkName(String name) { assert name == null || NAME_PATTERN.matcher(name).matches() : "illegal phase name: " + name;
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/BasePhase.java Sun May 24 14:44:28 2015 +0200 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/BasePhase.java Sun May 24 16:29:41 2015 +0200 @@ -62,7 +62,14 @@ */ private final DebugMemUseTracker memUseTracker; - private static final Pattern NAME_PATTERN = Pattern.compile("[A-Z][A-Za-z0-9]+"); + @SuppressWarnings("all") + private static boolean assertionsEnabled() { + boolean enabled = false; + assert enabled = true; + return enabled; + } + + private static final Pattern NAME_PATTERN = assertionsEnabled() ? Pattern.compile("[A-Z][A-Za-z0-9]+") : null; private static boolean checkName(String name) { assert NAME_PATTERN.matcher(name).matches() : "illegal phase name: " + name;