Skip to content

Commit e61a462

Browse files
committed
[GR-70638] Add crema benchmark configuration.
PullRequest: graal/22739
2 parents dbbb42b + 6acff5b commit e61a462

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

common.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"Jsonnet files should not include this file directly but use ci/common.jsonnet instead."
55
],
66

7-
"mx_version": "7.68.4",
7+
"mx_version": "7.68.5",
88

99
"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
1010
"jdks": {

espresso-shared/mx.espresso-shared/suite.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# questions.
2424
#
2525
suite = {
26-
"mxversion": "7.58.0",
26+
"mxversion": "7.65.0",
2727
"name": "espresso-shared",
2828
"version" : "25.1.0",
2929
"release" : False,
@@ -40,7 +40,7 @@
4040
"read" : "https://github.com/oracle/graal.git",
4141
"write" : "[email protected]:oracle/graal.git",
4242
},
43-
"ignore_suite_commit_info": True,
43+
"capture_suite_commit_info": False,
4444

4545
# ------------- licenses
4646

sdk/mx.sdk/mx_sdk_benchmark.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,8 @@ def __init__(self, vm: NativeImageVM, bm_suite: BenchmarkSuite | NativeImageBenc
431431
base_image_build_args += ['--gc=' + vm.gc] + ['-H:+SpawnIsolates']
432432
if vm.native_architecture:
433433
base_image_build_args += ['-march=native']
434+
if vm.crema:
435+
base_image_build_args += ["-H:+RuntimeClassLoading", "-H:EnableURLProtocols=jar"]
434436
if vm.preserve_all:
435437
base_image_build_args += ['-H:Preserve=all']
436438
if vm.preserve_classpath:
@@ -868,6 +870,7 @@ def __init__(self, name, config_name, extra_java_args=None, extra_launcher_args=
868870
self.is_llvm = False
869871
self.gc = None
870872
self.native_architecture = False
873+
self.crema = False
871874
self.preserve_all = False
872875
self.preserve_classpath = False
873876
self.future_defaults_all = False
@@ -908,6 +911,8 @@ def config_name(self):
908911
config = []
909912
if self.native_architecture is True:
910913
config += ["native-architecture"]
914+
if self.crema is True:
915+
config += ["crema"]
911916
if self.use_string_inlining is True:
912917
config += ["string-inlining"]
913918
if self.use_open_type_world is True:
@@ -998,7 +1003,7 @@ def _configure_from_name(self, config_name):
9981003

9991004
# This defines the allowed config names for NativeImageVM. The ones registered will be available via --jvm-config
10001005
# Note: the order of entries here must match the order of statements in NativeImageVM.config_name()
1001-
rule = r'^(?P<native_architecture>native-architecture-)?(?P<string_inlining>string-inlining-)?(?P<otw>otw-)?(?P<compacting_gc>compacting-gc-)?(?P<preserve_all>preserve-all-)?(?P<preserve_classpath>preserve-classpath-)?' \
1006+
rule = r'^(?P<native_architecture>native-architecture-)?(?P<string_inlining>string-inlining-)?(?P<otw>otw-)?(?P<compacting_gc>compacting-gc-)?(?P<crema>crema-)?(?P<preserve_all>preserve-all-)?(?P<preserve_classpath>preserve-classpath-)?' \
10021007
r'(?P<graalos>graalos-)?(?P<graalhost_graalos>graalhost-graalos-)?(?P<pie>pie-)?(?P<layered>layered-)?' \
10031008
r'(?P<future_defaults_all>future-defaults-all-)?(?P<gate>gate-)?(?P<upx>upx-)?(?P<quickbuild>quickbuild-)?(?P<gc>g1gc-)?' \
10041009
r'(?P<llvm>llvm-)?(?P<pgo>pgo-|pgo-sampler-|pgo-perf-sampler-invoke-multiple-|pgo-perf-sampler-invoke-|pgo-perf-sampler-)?(?P<inliner>inline-)?' \
@@ -1015,6 +1020,10 @@ def _configure_from_name(self, config_name):
10151020
mx.logv(f"'native-architecture' is enabled for {config_name}")
10161021
self.native_architecture = True
10171022

1023+
if matching.group("crema") is not None:
1024+
mx.logv(f"'crema' is enabled for {config_name}")
1025+
self.crema = True
1026+
10181027
if matching.group("preserve_all") is not None:
10191028
mx.logv(f"'preserve-all' is enabled for {config_name}")
10201029
self.preserve_all = True
@@ -2003,12 +2012,12 @@ def register_graalvm_vms():
20032012
for short_name, config_suffix in [(None, ''), ('niee', '-ee'), ('ni', '-ce')]:
20042013
if short_name is None or any(component.short_name == short_name for component in mx_sdk_vm_impl.registered_graalvm_components(stage1=False)):
20052014
config_names = list()
2006-
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 []):
2015+
for main_config in ['default', 'gate', 'llvm', 'native-architecture', 'crema', 'future-defaults-all', 'preserve-all', 'preserve-classpath'] + analysis_context_sensitivity + (['g1gc', 'pgo', 'g1gc-pgo'] if config_suffix != '-ce' else []):
20072016
config_names.append(f'{main_config}{config_suffix}')
20082017

20092018
for optimization_level in optimization_levels:
20102019
config_names.append(f'{optimization_level}{config_suffix}')
2011-
for main_config in ['llvm', 'native-architecture', 'g1gc', 'native-architecture-g1gc', 'preserve-all', 'preserve-classpath'] + analysis_context_sensitivity:
2020+
for main_config in ['llvm', 'native-architecture', 'crema', 'g1gc', 'native-architecture-g1gc', 'preserve-all', 'preserve-classpath'] + analysis_context_sensitivity:
20122021
config_names.append(f'{main_config}-{optimization_level}{config_suffix}')
20132022

20142023
for config_name in config_names:
@@ -4120,7 +4129,8 @@ def get_latest_image_stage(self) -> Optional[Stage]:
41204129

41214130
class StageAwareBenchmarkMixin():
41224131

4123-
def __init__(self):
4132+
def __init__(self, *args, **kwargs):
4133+
super().__init__(*args, **kwargs)
41244134
self.stages_info: Optional[StagesInfo] = None
41254135

41264136
def run_stage(self, vm, stage: Stage, command, out, err, cwd, nonZeroIsFatal):

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/SVMHost.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import com.oracle.graal.pointsto.api.HostVM;
6262
import com.oracle.graal.pointsto.api.PointstoOptions;
6363
import com.oracle.graal.pointsto.constraints.UnsupportedFeatureException;
64+
import com.oracle.graal.pointsto.constraints.UnsupportedPlatformException;
6465
import com.oracle.graal.pointsto.meta.AnalysisField;
6566
import com.oracle.graal.pointsto.meta.AnalysisMetaAccess;
6667
import com.oracle.graal.pointsto.meta.AnalysisMethod;
@@ -951,7 +952,7 @@ public boolean skipInterface(AnalysisUniverse universe, ResolvedJavaType interfa
951952
LogUtils.warning("%s The interface is filtered because the compatibility option %s is used. This option will be removed in a future GraalVM version.", message, commandArgument);
952953
return true;
953954
} else {
954-
throw new UnsupportedFeatureException(
955+
throw new UnsupportedPlatformException(
955956
message + " The old behavior can be temporarily restored using the option " + commandArgument + ". This option will be removed in a future GraalVM version.");
956957
}
957958
}

0 commit comments

Comments
 (0)