# HG changeset patch # User Stefan Anzinger # Date 1405339485 25200 # Node ID 8bba3477c88c86e0a4975ac4a8a980d9e378349a # Parent d1b16fe368a0e8244d1d7c5460a9525c221fe087 [SPARC] Implementing visitInfopointNode diff -r d1b16fe368a0 -r 8bba3477c88c graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java Mon Jul 14 04:42:08 2014 -0700 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java Mon Jul 14 05:04:45 2014 -0700 @@ -25,8 +25,8 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; -import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.gen.*; +import com.oracle.graal.lir.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.lir.sparc.*; import com.oracle.graal.nodes.*; @@ -59,7 +59,6 @@ @Override public void visitInfopointNode(InfopointNode i) { - // TODO Auto-generated method stub - throw GraalInternalError.unimplemented(); + append(new InfopointOp(stateFor(i.getState()), i.reason)); } } diff -r d1b16fe368a0 -r 8bba3477c88c graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java Mon Jul 14 04:42:08 2014 -0700 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java Mon Jul 14 05:04:45 2014 -0700 @@ -30,6 +30,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.gen.*; import com.oracle.graal.compiler.sparc.*; +import com.oracle.graal.debug.*; import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.meta.*; @@ -139,4 +140,13 @@ append(new SPARCPrefetchOp(addr, getGen().config.allocatePrefetchInstr)); } + @Override + public void visitInfopointNode(InfopointNode i) { + if (i.getState() != null && i.getState().bci == BytecodeFrame.AFTER_BCI) { + Debug.log("Ignoring InfopointNode for AFTER_BCI"); + } else { + super.visitInfopointNode(i); + } + } + }