src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/AOTGraalHotSpotVMConfig.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/AOTGraalHotSpotVMConfig.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/AOTGraalHotSpotVMConfig.java

Print this page

        

*** 20,42 **** * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.hotspot; import jdk.vm.ci.hotspot.HotSpotVMConfigStore; public class AOTGraalHotSpotVMConfig extends GraalHotSpotVMConfig { private final CompressEncoding aotOopEncoding; private final CompressEncoding aotKlassEncoding; public AOTGraalHotSpotVMConfig(HotSpotVMConfigStore store) { super(store); ! // In AOT, force the shift to be always equal to alignment therefore avoiding zero-shift. CompressEncoding vmOopEncoding = super.getOopEncoding(); ! aotOopEncoding = new CompressEncoding(vmOopEncoding.base, vmOopEncoding.alignment, vmOopEncoding.alignment); CompressEncoding vmKlassEncoding = super.getKlassEncoding(); ! aotKlassEncoding = new CompressEncoding(vmKlassEncoding.base, vmKlassEncoding.alignment, vmKlassEncoding.alignment); assert check(); } @Override public CompressEncoding getOopEncoding() { --- 20,48 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.hotspot; + import org.graalvm.compiler.core.common.CompressEncoding; + import jdk.vm.ci.hotspot.HotSpotVMConfigStore; public class AOTGraalHotSpotVMConfig extends GraalHotSpotVMConfig { private final CompressEncoding aotOopEncoding; private final CompressEncoding aotKlassEncoding; public AOTGraalHotSpotVMConfig(HotSpotVMConfigStore store) { super(store); ! // AOT captures VM settings during compilation. For compressed oops this ! // presents a problem for the case when the VM selects a zero-shift mode ! // (i.e., when the heap is less than 4G). Compiling an AOT binary with ! // zero-shift limits its usability. As such we force the shift to be ! // always equal to alignment to avoid emitting zero-shift AOT code. CompressEncoding vmOopEncoding = super.getOopEncoding(); ! aotOopEncoding = new CompressEncoding(vmOopEncoding.getBase(), logMinObjAlignment()); CompressEncoding vmKlassEncoding = super.getKlassEncoding(); ! aotKlassEncoding = new CompressEncoding(vmKlassEncoding.getBase(), logKlassAlignment); assert check(); } @Override public CompressEncoding getOopEncoding() {
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/AOTGraalHotSpotVMConfig.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File