Mercurial > hg > graal-compiler
changeset 22702:96fc3db82426
Use lazy class loading instead of explicit assertionsEnabled check
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 25 Sep 2015 11:22:37 -0700 |
parents | f36a430db1c2 |
children | d5793a653996 |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/BasePhase.java |
diffstat | 2 files changed, 8 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java Tue Sep 22 17:43:05 2015 -0700 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java Fri Sep 25 11:22:37 2015 -0700 @@ -85,17 +85,13 @@ } }; - @SuppressWarnings("all") - private static boolean assertionsEnabled() { - boolean enabled = false; - assert enabled = true; - return enabled; + /** Lazy initialization to create pattern only when assertions are enabled. */ + static class NamePatternHolder { + static final Pattern NAME_PATTERN = Pattern.compile("[A-Z][A-Za-z0-9]+"); } - 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; + assert name == null || NamePatternHolder.NAME_PATTERN.matcher(name).matches() : "illegal phase name: " + name; return true; }
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/BasePhase.java Tue Sep 22 17:43:05 2015 -0700 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/BasePhase.java Fri Sep 25 11:22:37 2015 -0700 @@ -63,17 +63,13 @@ */ private final DebugMemUseTracker memUseTracker; - @SuppressWarnings("all") - private static boolean assertionsEnabled() { - boolean enabled = false; - assert enabled = true; - return enabled; + /** Lazy initialization to create pattern only when assertions are enabled. */ + static class NamePatternHolder { + static final Pattern NAME_PATTERN = Pattern.compile("[A-Z][A-Za-z0-9]+"); } - 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; + assert NamePatternHolder.NAME_PATTERN.matcher(name).matches() : "illegal phase name: " + name; return true; }