< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualArrayNode.java
Print this page
rev 52509 : [mq]: graal2
@@ -24,22 +24,22 @@
package org.graalvm.compiler.nodes.virtual;
import java.nio.ByteOrder;
-import jdk.vm.ci.meta.ConstantReflectionProvider;
-import org.graalvm.compiler.core.common.spi.ArrayOffsetProvider;
import org.graalvm.compiler.graph.NodeClass;
import org.graalvm.compiler.nodeinfo.NodeInfo;
import org.graalvm.compiler.nodeinfo.Verbosity;
import org.graalvm.compiler.nodes.ConstantNode;
import org.graalvm.compiler.nodes.FixedNode;
import org.graalvm.compiler.nodes.ValueNode;
import org.graalvm.compiler.nodes.spi.ArrayLengthProvider;
import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool;
+import jdk.vm.ci.meta.ConstantReflectionProvider;
import jdk.vm.ci.meta.JavaKind;
+import jdk.vm.ci.meta.MetaAccessProvider;
import jdk.vm.ci.meta.ResolvedJavaType;
@NodeInfo(nameTemplate = "VirtualArray({p#objectId}) {p#componentType/s}[{p#length}]")
public class VirtualArrayNode extends VirtualObjectNode implements ArrayLengthProvider {
@@ -89,17 +89,17 @@
public String entryName(int index) {
return "[" + index + "]";
}
@Override
- public int entryIndexForOffset(ArrayOffsetProvider arrayOffsetProvider, long constantOffset, JavaKind expectedEntryKind) {
- return entryIndexForOffset(arrayOffsetProvider, constantOffset, expectedEntryKind, componentType, length);
+ public int entryIndexForOffset(MetaAccessProvider metaAccess, long constantOffset, JavaKind expectedEntryKind) {
+ return entryIndexForOffset(metaAccess, constantOffset, expectedEntryKind, componentType, length);
}
- public static int entryIndexForOffset(ArrayOffsetProvider arrayOffsetProvider, long constantOffset, JavaKind expectedEntryKind, ResolvedJavaType componentType, int length) {
- int baseOffset = arrayOffsetProvider.arrayBaseOffset(componentType.getJavaKind());
- int indexScale = arrayOffsetProvider.arrayScalingFactor(componentType.getJavaKind());
+ public static int entryIndexForOffset(MetaAccessProvider metaAccess, long constantOffset, JavaKind expectedEntryKind, ResolvedJavaType componentType, int length) {
+ int baseOffset = metaAccess.getArrayBaseOffset(componentType.getJavaKind());
+ int indexScale = metaAccess.getArrayIndexScale(componentType.getJavaKind());
long offset;
if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN && componentType.isPrimitive()) {
// On big endian, we expect the value to be correctly aligned in memory
int componentByteCount = componentType.getJavaKind().getByteCount();
< prev index next >