Mercurial > hg > truffle
changeset 5331:6e346160f104
replaced magic constants with GraalOptions.CheckcastMaxHints and GraalOptions.InstanceOfMaxHints
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 01 May 2012 18:35:32 +0200 |
parents | 678f31e9724e |
children | 71157e8ea13b |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java Tue May 01 10:53:56 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java Tue May 01 18:35:32 2012 +0200 @@ -230,6 +230,9 @@ */ public static boolean CheckcastCounters = false; + public static int CheckcastMaxHints = 2; + public static int InstanceOfMaxHints = 1; + static { // turn detailed assertions on when the general assertions are on (misusing the assert keyword for this) assert (DetailedAsserts = true) == true;
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue May 01 10:53:56 2012 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue May 01 18:35:32 2012 +0200 @@ -629,7 +629,7 @@ AnchorNode anchor = currentGraph.add(new AnchorNode()); append(anchor); CheckCastNode checkCast; - RiResolvedType[] hints = getTypeCheckHints((RiResolvedType) type, 2); + RiResolvedType[] hints = getTypeCheckHints((RiResolvedType) type, GraalOptions.CheckcastMaxHints); checkCast = currentGraph.unique(new CheckCastNode(anchor, typeInstruction, (RiResolvedType) type, object, hints, Util.isFinalClass((RiResolvedType) type))); append(currentGraph.add(new ValueAnchorNode(checkCast))); frameState.apush(checkCast); @@ -648,7 +648,7 @@ RiResolvedType resolvedType = (RiResolvedType) type; ConstantNode hub = appendConstant(resolvedType.getEncoding(RiType.Representation.ObjectHub)); - RiResolvedType[] hints = getTypeCheckHints(resolvedType, 1); + RiResolvedType[] hints = getTypeCheckHints(resolvedType, GraalOptions.InstanceOfMaxHints); InstanceOfNode instanceOfNode = new InstanceOfNode(hub, (RiResolvedType) type, object, hints, Util.isFinalClass(resolvedType), false); frameState.ipush(append(MaterializeNode.create(currentGraph.unique(instanceOfNode), currentGraph))); } else {