< 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

        

*** 135,146 **** default: return -1; } long offset; if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN && componentType.isPrimitive()) { ! // On big endian, we do just get expect the type be right aligned in this memory slot ! offset = constantOffset - (componentType.getJavaKind().getByteCount() - Math.min(componentType.getJavaKind().getByteCount(), 4 + expectedEntryKind.getByteCount())); } else { offset = constantOffset; } long index = offset - baseOffset; if (index % indexScale != 0) { --- 135,147 ---- default: return -1; } 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(); ! offset = constantOffset - (componentByteCount - Math.min(componentByteCount, 4 + expectedEntryKind.getByteCount())); } else { offset = constantOffset; } long index = offset - baseOffset; if (index % indexScale != 0) {
< prev index next >