# HG changeset patch # User Lukas Stadler # Date 1404829510 -7200 # Node ID eff9559f4515505b609e0c5cbb36ba0a910334d5 # Parent 843e8efacd13cb4c0bf67f2c0a737023c00234f1 don't let reads float across SaveAllRegistersNode diff -r 843e8efacd13 -r eff9559f4515 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java Tue Jul 08 16:24:46 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java Tue Jul 08 16:25:10 2014 +0200 @@ -24,15 +24,18 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.lir.StandardOp.*; import com.oracle.graal.nodes.*; +import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; /** * Saves all allocatable registers. */ -public class SaveAllRegistersNode extends FixedWithNextNode implements LIRLowerable { +@NodeInfo(allowedUsageTypes = {InputType.Memory}) +public class SaveAllRegistersNode extends FixedWithNextNode implements LIRLowerable, MemoryCheckpoint.Single { private SaveRegistersOp saveRegistersOp; @@ -59,4 +62,8 @@ */ @NodeIntrinsic public static native long saveAllRegisters(); + + public LocationIdentity getLocationIdentity() { + return LocationIdentity.ANY_LOCATION; + } }