Skip to content

Commit 39bb0ab

Browse files
committed
Move NativeImageVM registration to mx_sdk_benchmark.py
1 parent 88c63f1 commit 39bb0ab

File tree

3 files changed

+25
-21
lines changed

3 files changed

+25
-21
lines changed

sdk/mx.sdk/mx_sdk.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ def mx_register_dynamic_suite_constituents(register_project, register_distributi
200200

201201
def mx_post_parse_cmd_line(args):
202202
mx_sdk_vm_impl.mx_post_parse_cmd_line(args)
203+
mx_sdk_benchmark.register_graalvm_vms()
203204

204205

205206
mx.update_commands(_suite, {

sdk/mx.sdk/mx_sdk_benchmark.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

18311851
class ObjdumpSectionRule(mx_benchmark.StdOutRule):

vm/mx.vm/mx_vm_benchmark.py

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import mx_sdk_vm_impl
3636
import mx_sdk_vm_ng
3737
from mx_benchmark import DataPoints
38-
from mx_sdk_benchmark import GraalVm, NativeImageVM
38+
from mx_sdk_benchmark import GraalVm
3939

4040
_suite = mx.suite('vm')
4141

@@ -226,23 +226,6 @@ def register_graalvm_vms():
226226
extra_launcher_args += ['--vm.-add-modules=jdk.incubator.vector']
227227
mx_benchmark.java_vm_registry.add_vm(GraalVm(host_vm_name, config_name, java_args, launcher_args + extra_launcher_args), _suite, priority)
228228

229-
optimization_levels = ['O0', 'O1', 'O2', 'O3', 'Os']
230-
analysis_context_sensitivity = ['insens', 'allocsens', '1obj', '2obj1h', '3obj2h', '4obj3h']
231-
232-
for short_name, config_suffix in [('niee', 'ee'), ('ni', 'ce')]:
233-
if any(component.short_name == short_name for component in mx_sdk_vm_impl.registered_graalvm_components(stage1=False)):
234-
config_names = list()
235-
for main_config in ['default', 'gate', 'llvm', 'native-architecture', 'future-defaults-all', 'preserve-all', 'preserve-classpath'] + analysis_context_sensitivity:
236-
config_names.append(f'{main_config}-{config_suffix}')
237-
238-
for optimization_level in optimization_levels:
239-
config_names.append(f'{optimization_level}-{config_suffix}')
240-
for main_config in ['llvm', 'native-architecture', 'g1gc', 'native-architecture-g1gc', 'preserve-all', 'preserve-classpath'] + analysis_context_sensitivity:
241-
config_names.append(f'{main_config}-{optimization_level}-{config_suffix}')
242-
243-
for config_name in config_names:
244-
mx_benchmark.add_java_vm(NativeImageVM('native-image', config_name, ['--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED']), _suite, 10)
245-
246229
# Add VMs for libgraal
247230
if mx.suite('substratevm', fatalIfMissing=False) is not None:
248231
import mx_substratevm

0 commit comments

Comments
 (0)