Mercurial > hg > truffle
changeset 11300:ee5ef0e132ce
made instanceof lowering happen after guard lowering
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 13 Aug 2013 18:18:17 +0200 |
parents | 1bdb4a3ffdc6 |
children | 8bcae501c51b |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java |
diffstat | 2 files changed, 6 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Aug 13 18:17:45 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Aug 13 18:18:17 2013 +0200 @@ -795,9 +795,13 @@ } else if (n instanceof CheckCastDynamicNode) { checkcastDynamicSnippets.lower((CheckCastDynamicNode) n); } else if (n instanceof InstanceOfNode) { - instanceofSnippets.lower((InstanceOfNode) n, tool); + if (tool.getLoweringType() == LoweringType.AFTER_GUARDS) { + instanceofSnippets.lower((InstanceOfNode) n, tool); + } } else if (n instanceof InstanceOfDynamicNode) { - instanceofSnippets.lower((InstanceOfDynamicNode) n, tool); + if (tool.getLoweringType() == LoweringType.AFTER_GUARDS) { + instanceofSnippets.lower((InstanceOfDynamicNode) n, tool); + } } else if (n instanceof NewInstanceNode) { if (tool.getLoweringType() == LoweringType.AFTER_FSA) { newObjectSnippets.lower((NewInstanceNode) n);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Tue Aug 13 18:17:45 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Tue Aug 13 18:18:17 2013 +0200 @@ -23,7 +23,6 @@ package com.oracle.graal.nodes.java; import com.oracle.graal.api.meta.*; -import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; @@ -119,15 +118,6 @@ } @Override - public boolean verify() { - for (Node usage : usages()) { - assertTrue(usage instanceof IfNode || usage instanceof FixedGuardNode || usage instanceof GuardingPiNode || usage instanceof ConditionalNode || usage instanceof ShortCircuitBooleanNode, - "unsupported usage: %s", usage); - } - return super.verify(); - } - - @Override public void virtualize(VirtualizerTool tool) { State state = tool.getObjectState(object); if (state != null) {