src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/IndexAddressNode.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/IndexAddressNode.java Thu Jun 27 03:10:52 2019 +0200
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/IndexAddressNode.java Thu Jun 27 03:33:44 2019 +0200
@@ -43,12 +43,18 @@
@Input ValueNode array;
@Input ValueNode index;
+ private final JavaKind arrayKind;
private final JavaKind elementKind;
public IndexAddressNode(ValueNode array, ValueNode index, JavaKind elementKind) {
+ this(array, index, elementKind, elementKind);
+ }
+
+ public IndexAddressNode(ValueNode array, ValueNode index, JavaKind arrayKind, JavaKind elementKind) {
super(TYPE);
this.array = array;
this.index = index;
+ this.arrayKind = arrayKind;
this.elementKind = elementKind;
}
@@ -71,6 +77,10 @@
return Long.MAX_VALUE;
}
+ public JavaKind getArrayKind() {
+ return arrayKind;
+ }
+
public JavaKind getElementKind() {
return elementKind;
}