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 Oct 17 20:27:44 2019 +0100
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/IndexAddressNode.java Thu Oct 17 20:53:35 2019 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -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;
}