@@ -1823,9 +1823,29 @@ def _layerize_stages(self, bm_suite, bm_suite_args, stages: List[Stage]) -> List
18231823 return layered_stages
18241824
18251825
1826- # Adds JAVA_HOME VMs so benchmarks can run on GraalVM binaries without building them first.
1827- for java_home_config in ['default' , 'pgo' , 'g1gc' , 'g1gc-pgo' , 'upx' , 'upx-g1gc' , 'quickbuild' , 'quickbuild-g1gc' ]:
1828- mx_benchmark .add_java_vm (NativeImageVM ('native-image-java-home' , java_home_config ), _suite )
1826+ def register_graalvm_vms ():
1827+ # a simple JVM config that runs without any custom flag
1828+ mx_benchmark .add_java_vm (JvmciJdkVm ('server' , 'vanilla' , []), _suite , 2 )
1829+
1830+ for java_home_config in ['default' , 'pgo' , 'g1gc' , 'g1gc-pgo' , 'upx' , 'upx-g1gc' , 'quickbuild' , 'quickbuild-g1gc' ]:
1831+ mx_benchmark .add_java_vm (NativeImageVM ('native-image-java-home' , java_home_config ), _suite )
1832+
1833+ optimization_levels = ['O0' , 'O1' , 'O2' , 'O3' , 'Os' ]
1834+ analysis_context_sensitivity = ['insens' , 'allocsens' , '1obj' , '2obj1h' , '3obj2h' , '4obj3h' ]
1835+
1836+ for short_name , config_suffix in [(None , '' ), ('niee' , '-ee' ), ('ni' , '-ce' )]:
1837+ if short_name is None or any (component .short_name == short_name for component in mx_sdk_vm_impl .registered_graalvm_components (stage1 = False )):
1838+ config_names = list ()
1839+ for main_config in ['default' , 'gate' , 'llvm' , 'native-architecture' , 'future-defaults-all' , 'preserve-all' , 'preserve-classpath' ] + analysis_context_sensitivity + (['g1gc' , 'pgo' , 'g1gc-pgo' ] if config_suffix != '-ce' else []):
1840+ config_names .append (f'{ main_config } { config_suffix } ' )
1841+
1842+ for optimization_level in optimization_levels :
1843+ config_names .append (f'{ optimization_level } { config_suffix } ' )
1844+ for main_config in ['llvm' , 'native-architecture' , 'g1gc' , 'native-architecture-g1gc' , 'preserve-all' , 'preserve-classpath' ] + analysis_context_sensitivity :
1845+ config_names .append (f'{ main_config } -{ optimization_level } { config_suffix } ' )
1846+
1847+ for config_name in config_names :
1848+ mx_benchmark .add_java_vm (NativeImageVM ('native-image' , config_name , ['--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED' ]), _suite , 10 )
18291849
18301850
18311851class ObjdumpSectionRule (mx_benchmark .StdOutRule ):
0 commit comments