diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/HostedImageLayerBuildingSupport.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/HostedImageLayerBuildingSupport.java index 6f201014c3cd..62eb382e0dfb 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/HostedImageLayerBuildingSupport.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/HostedImageLayerBuildingSupport.java @@ -146,7 +146,7 @@ public static void processLayerOptions(EconomicMap, Object> values) if (layerUseValue.toString().isEmpty()) { /* Nothing to do, an empty --layer-use= disables the layer application. */ } else { - SubstrateOptions.ClosedTypeWorld.update(values, false); + SubstrateOptions.ClosedTypeWorldHubLayout.update(values, false); SubstrateOptions.ParseRuntimeOptions.update(values, false); if (imageLayerEnabledHandler != null) { imageLayerEnabledHandler.onOptionEnabled(values); diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/meta/VTableBuilder.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/meta/VTableBuilder.java index de557ab43469..531eff35d33d 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/meta/VTableBuilder.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/meta/VTableBuilder.java @@ -46,10 +46,12 @@ public final class VTableBuilder { private final HostedUniverse hUniverse; private final HostedMetaAccess hMetaAccess; + private final boolean closedTypeWorldHubLayout; private VTableBuilder(HostedUniverse hUniverse, HostedMetaAccess hMetaAccess) { this.hUniverse = hUniverse; this.hMetaAccess = hMetaAccess; + closedTypeWorldHubLayout = SubstrateOptions.useClosedTypeWorldHubLayout(); } public static void buildTables(HostedUniverse hUniverse, HostedMetaAccess hMetaAccess) { @@ -118,7 +120,7 @@ private List generateITable(HostedType type) { private List generateDispatchTable(HostedType type, int startingIndex) { Predicate includeMethod; - if (hUniverse.hostVM().isClosedTypeWorld()) { + if (closedTypeWorldHubLayout) { // include only methods which will be indirect calls includeMethod = m -> m.implementations.length > 1 || m.wrapped.isVirtualRootMethod(); } else {