--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/OffsetAddressNode.java 2017-11-03 23:57:20.807984743 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/OffsetAddressNode.java 2017-11-03 23:57:20.481970154 -0700 @@ -22,6 +22,7 @@ */ package org.graalvm.compiler.nodes.memory.address; +import org.graalvm.compiler.core.common.type.AbstractPointerStamp; import org.graalvm.compiler.core.common.type.IntegerStamp; import org.graalvm.compiler.core.common.type.Stamp; import org.graalvm.compiler.graph.Node; @@ -52,6 +53,9 @@ super(TYPE); this.base = base; this.offset = offset; + + assert base != null && (base.stamp() instanceof AbstractPointerStamp || IntegerStamp.getBits(base.stamp()) == 64) && + offset != null && IntegerStamp.getBits(offset.stamp()) == 64 : "both values must have 64 bits"; } @Override @@ -62,6 +66,7 @@ public void setBase(ValueNode base) { updateUsages(this.base, base); this.base = base; + assert base != null && (base.stamp() instanceof AbstractPointerStamp || IntegerStamp.getBits(base.stamp()) == 64); } public ValueNode getOffset() { @@ -71,6 +76,7 @@ public void setOffset(ValueNode offset) { updateUsages(this.offset, offset); this.offset = offset; + assert offset != null && IntegerStamp.getBits(offset.stamp()) == 64; } @Override