Mercurial > hg > truffle
changeset 16445:eff9559f4515
don't let reads float across SaveAllRegistersNode
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Tue, 08 Jul 2014 16:25:10 +0200 |
parents | 843e8efacd13 |
children | 4584f29431be |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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; + } }