@@ -227,6 +227,8 @@ def __init__(self, vm: NativeImageVM, bm_suite: BenchmarkSuite | NativeImageBenc
227
227
base_image_build_args += ['-Ob' ]
228
228
if vm .use_string_inlining :
229
229
base_image_build_args += ['-H:+UseStringInlining' ]
230
+ if vm .use_open_type_world :
231
+ base_image_build_args += ['-H:-ClosedTypeWorld' ]
230
232
if vm .is_llvm :
231
233
base_image_build_args += ['--features=org.graalvm.home.HomeFinderFeature' ] + ['-H:CompilerBackend=llvm' , '-H:DeadlockWatchdogInterval=0' ]
232
234
if vm .gc :
@@ -527,6 +529,7 @@ def __init__(self, name, config_name, extra_java_args=None, extra_launcher_args=
527
529
self .gc = None
528
530
self .native_architecture = False
529
531
self .use_upx = False
532
+ self .use_open_type_world = False
530
533
self .graalvm_edition = None
531
534
self .config : Optional [NativeImageBenchmarkConfig ] = None
532
535
self .stages_info : Optional [StagesInfo ] = None
@@ -558,7 +561,7 @@ def _configure_from_name(self, config_name):
558
561
return
559
562
560
563
# This defines the allowed config names for NativeImageVM. The ones registered will be available via --jvm-config
561
- rule = r'^(?P<native_architecture>native-architecture-)?(?P<string_inlining>string-inlining-)?(?P<gate>gate-)?(?P<upx>upx-)?(?P<quickbuild>quickbuild-)?(?P<gc>g1gc-)?(?P<llvm>llvm-)?(?P<pgo>pgo-|pgo-ctx-insens-|pgo-sampler-)?(?P<inliner>inline-)?' \
564
+ rule = r'^(?P<native_architecture>native-architecture-)?(?P<string_inlining>string-inlining-)?(?P<otw>otw-)?(?P< gate>gate-)?(?P<upx>upx-)?(?P<quickbuild>quickbuild-)?(?P<gc>g1gc-)?(?P<llvm>llvm-)?(?P<pgo>pgo-|pgo-ctx-insens-|pgo-sampler-)?(?P<inliner>inline-)?' \
562
565
r'(?P<analysis_context_sensitivity>insens-|allocsens-|1obj-|2obj1h-|3obj2h-|4obj3h-)?(?P<no_inlining_before_analysis>no-inline-)?(?P<jdk_profiles>jdk-profiles-collect-|adopted-jdk-pgo-)?' \
563
566
r'(?P<profile_inference>profile-inference-feature-extraction-|profile-inference-pgo-|profile-inference-debug-)?(?P<sampler>safepoint-sampler-|async-sampler-)?(?P<optimization_level>O0-|O1-|O2-|O3-|Os-)?(?P<edition>ce-|ee-)?$'
564
567
@@ -584,6 +587,10 @@ def _configure_from_name(self, config_name):
584
587
mx .logv (f"'upx' is enabled for { config_name } " )
585
588
self .use_upx = True
586
589
590
+ if matching .group ("otw" ) is not None :
591
+ mx .logv (f"'otw' is enabled for { config_name } " )
592
+ self .use_open_type_world = True
593
+
587
594
if matching .group ("quickbuild" ) is not None :
588
595
mx .logv (f"'quickbuild' is enabled for { config_name } " )
589
596
self .is_quickbuild = True
0 commit comments