< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/OffsetAddressNode.java

Print this page

        

*** 20,29 **** --- 20,30 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ 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; import org.graalvm.compiler.graph.NodeClass; import org.graalvm.compiler.graph.spi.Canonicalizable;
*** 50,78 **** --- 51,84 ---- public OffsetAddressNode(ValueNode base, ValueNode offset) { 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 public ValueNode getBase() { return base; } 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() { return offset; } public void setOffset(ValueNode offset) { updateUsages(this.offset, offset); this.offset = offset; + assert offset != null && IntegerStamp.getBits(offset.stamp()) == 64; } @Override public Node canonical(CanonicalizerTool tool) { if (base instanceof RawAddressNode) {
< prev index next >