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