Mercurial > hg > graal-compiler
changeset 9099:ed81c74f92ff
Cache boolean flags instead of full Annotation objects
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 12 Apr 2013 16:05:56 -0700 |
parents | d766fd8eede0 |
children | d24955427b0b |
files | graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Fri Apr 12 22:34:29 2013 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Fri Apr 12 16:05:56 2013 -0700 @@ -60,8 +60,8 @@ public static class SnippetInfo { protected final ResolvedJavaMethod method; - protected final ConstantParameter[] constantParameters; - protected final VarargsParameter[] varargsParameters; + protected final boolean[] constantParameters; + protected final boolean[] varargsParameters; /** * The parameter names, taken from the local variables table. Only used for assertion @@ -74,11 +74,11 @@ assert Modifier.isStatic(method.getModifiers()) : "snippet method must be static: " + MetaUtil.format("%H.%n", method); int count = method.getSignature().getParameterCount(false); - constantParameters = new ConstantParameter[count]; - varargsParameters = new VarargsParameter[count]; + constantParameters = new boolean[count]; + varargsParameters = new boolean[count]; for (int i = 0; i < count; i++) { - constantParameters[i] = MetaUtil.getParameterAnnotation(ConstantParameter.class, i, method); - varargsParameters[i] = MetaUtil.getParameterAnnotation(VarargsParameter.class, i, method); + constantParameters[i] = MetaUtil.getParameterAnnotation(ConstantParameter.class, i, method) != null; + varargsParameters[i] = MetaUtil.getParameterAnnotation(VarargsParameter.class, i, method) != null; assert !isConstantParameter(i) || !isVarargsParameter(i) : "Parameter cannot be annotated with both @" + ConstantParameter.class.getSimpleName() + " and @" + VarargsParameter.class.getSimpleName(); @@ -109,11 +109,11 @@ } public boolean isConstantParameter(int paramIdx) { - return constantParameters[paramIdx] != null; + return constantParameters[paramIdx]; } public boolean isVarargsParameter(int paramIdx) { - return varargsParameters[paramIdx] != null; + return varargsParameters[paramIdx]; } }