Mercurial > hg > truffle
diff graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java @ 18699:08b17b738500
Add hooks for verifying heap from generated code
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Tue, 16 Dec 2014 13:36:16 -0800 |
parents | d138867d61c4 |
children | f57d86eb036f |
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Tue Dec 16 13:30:07 2014 -0800 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Tue Dec 16 13:36:16 2014 -0800 @@ -40,10 +40,12 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.HeapAccess.BarrierType; import com.oracle.graal.nodes.calc.*; +import com.oracle.graal.nodes.debug.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; +import com.oracle.graal.nodes.util.*; import com.oracle.graal.nodes.virtual.*; import com.oracle.graal.phases.util.*; @@ -99,11 +101,17 @@ boxingSnippets.lower((BoxNode) n, tool); } else if (n instanceof UnboxNode) { boxingSnippets.lower((UnboxNode) n, tool); + } else if (n instanceof VerifyHeapNode) { + lowerVerifyHeap((VerifyHeapNode) n); } else { throw GraalInternalError.shouldNotReachHere("Node implementing Lowerable not handled: " + n); } } + protected void lowerVerifyHeap(VerifyHeapNode n) { + GraphUtil.removeFixedWithUnusedInputs(n); + } + protected void lowerLoadFieldNode(LoadFieldNode loadField, LoweringTool tool) { assert loadField.getKind() != Kind.Illegal; StructuredGraph graph = loadField.graph();