Mercurial > hg > graal-compiler
changeset 16177:ef1834ac566c
Fold nodes with alwaysNull stamp into constant.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Tue, 24 Jun 2014 11:43:02 +0200 |
parents | 5785eca138b0 |
children | b96e17e6d6aa |
files | graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ObjectStamp.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ObjectStamp.java Mon Jun 23 18:04:15 2014 -0700 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ObjectStamp.java Tue Jun 24 11:43:02 2014 +0200 @@ -64,4 +64,13 @@ } return false; } + + @Override + public Constant asConstant() { + if (alwaysNull()) { + return Constant.NULL_OBJECT; + } else { + return null; + } + } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java Mon Jun 23 18:04:15 2014 -0700 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java Tue Jun 24 11:43:02 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.compiler.common.spi.*; import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.hotspot.HotSpotVMConfig.CompressEncoding; +import com.oracle.graal.hotspot.meta.*; public class NarrowOopStamp extends AbstractObjectStamp { @@ -100,4 +101,13 @@ } return super.equals(other); } + + @Override + public Constant asConstant() { + if (alwaysNull()) { + return HotSpotCompressedNullConstant.COMPRESSED_NULL; + } else { + return null; + } + } }