Skip to content

Commit 4c84b4e

Browse files
OracleLabsAutomationzapster
authored andcommitted
[GR-67452] Update labsjdk to 26+6-jvmci-b01
PullRequest: graal/21438
2 parents d08dc0e + b91fc9e commit 4c84b4e

File tree

39 files changed

+218
-187
lines changed

39 files changed

+218
-187
lines changed

common.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
1010
"jdks": {
11-
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-26+5-361", "platformspecific": true, "extrabundles": ["static-libs"]},
11+
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-26+6-570", "platformspecific": true, "extrabundles": ["static-libs"]},
1212

1313
"oraclejdk17": {"name": "jpg-jdk", "version": "17.0.7", "build_id": "jdk-17.0.7+8", "platformspecific": true, "extrabundles": ["static-libs"]},
1414
"labsjdk-ce-17": {"name": "labsjdk", "version": "ce-17.0.7+4-jvmci-23.1-b02", "platformspecific": true },
@@ -53,12 +53,12 @@
5353
"labsjdk-ee-25Debug": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01-debug", "platformspecific": true },
5454
"labsjdk-ee-25-llvm": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01-sulong", "platformspecific": true },
5555

56-
"oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+5", "platformspecific": true, "extrabundles": ["static-libs"]},
57-
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+5-jvmci-b01", "platformspecific": true },
58-
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+5-jvmci-b01-debug", "platformspecific": true },
56+
"oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+6", "platformspecific": true, "extrabundles": ["static-libs"]},
57+
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+6-jvmci-b01", "platformspecific": true },
58+
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+6-jvmci-b01-debug", "platformspecific": true },
5959
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+5-jvmci-b01-sulong", "platformspecific": true },
60-
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+5-jvmci-b01", "platformspecific": true },
61-
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+5-jvmci-b01-debug", "platformspecific": true },
60+
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+6-jvmci-b01", "platformspecific": true },
61+
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+6-jvmci-b01-debug", "platformspecific": true },
6262
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+5-jvmci-b01-sulong", "platformspecific": true }
6363
},
6464

compiler/mx.compiler/mx_compiler.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1264,6 +1264,9 @@ def get_latest_jvmci_version():
12641264
mx.abort(msg)
12651265

12661266
if version_check_setting == 'strict' and not success:
1267+
# [GR-67676] The `-llvm` artifacts are currently not up to date due to a JDK build system problem JDK-8361844.
1268+
if latest.endswith('-llvm'):
1269+
return
12671270
if latest == 'not found':
12681271
msg = f'No JVMCI JDK found in {common_path} that matches {_jdk_jvmci_version}.'
12691272
msg += os.linesep + f'Check that {latest} matches the versions of the other JVMCI JDKs.'

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/core/test/CountedLoopOverflowTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public void testDownOverflow() {
121121
// first should deopt with a failed speculation, second not
122122
Map<DeoptimizationReason, Integer> deoptCountsBefore = getDeoptCounts(method);
123123
try {
124-
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, true, CollectionsUtil.setOf(), null);
124+
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, CollectionsUtil.setOf(), null);
125125
deoptCountsBefore = getDeoptCounts(method);
126126
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, EnumSet.allOf(DeoptimizationReason.class), null);
127127
} catch (Throwable t) {
@@ -142,7 +142,7 @@ public void testDownOverflowUnsigned() {
142142
// first should deopt with a failed speculation, second not
143143
Map<DeoptimizationReason, Integer> deoptCountsBefore = getDeoptCounts(method);
144144
try {
145-
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, true, CollectionsUtil.setOf(), null);
145+
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, CollectionsUtil.setOf(), null);
146146
deoptCountsBefore = getDeoptCounts(method);
147147
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, EnumSet.allOf(DeoptimizationReason.class), null);
148148
} catch (Throwable t) {
@@ -163,7 +163,7 @@ public void testUpOverflow() {
163163
// first should deopt with a failed speculation, second not
164164
Map<DeoptimizationReason, Integer> deoptCountsBefore = getDeoptCounts(method);
165165
try {
166-
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, true, CollectionsUtil.setOf(), null);
166+
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, CollectionsUtil.setOf(), null);
167167
deoptCountsBefore = getDeoptCounts(method);
168168
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, EnumSet.allOf(DeoptimizationReason.class), null);
169169
} catch (Throwable t) {

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/core/test/GraalCompilerTest.java

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -903,25 +903,17 @@ protected Result executeActual(ResolvedJavaMethod method, Object receiver, Objec
903903
}
904904

905905
protected Result executeActual(OptionValues options, ResolvedJavaMethod method, Object receiver, Object... args) {
906-
return executeActual(options, method, false, receiver, args);
907-
}
908-
909-
protected Result executeActual(OptionValues options, ResolvedJavaMethod method, boolean installAsDefault, Object receiver, Object... args) {
910906
before(method);
911907
Object[] executeArgs = argsWithReceiver(receiver, args);
912908

913909
checkArgs(method, executeArgs);
914910

915-
InstalledCode compiledMethod = getCode(method, null, false, installAsDefault, options);
911+
InstalledCode compiledMethod = getCode(method, options);
916912
try {
917913
return new Result(compiledMethod.executeVarargs(executeArgs), null);
918914
} catch (Throwable e) {
919915
return new Result(null, e);
920916
} finally {
921-
// Prevent a subsequent `executeExpected' call from entering the compiled method
922-
if (installAsDefault) {
923-
compiledMethod.invalidate();
924-
}
925917
after();
926918
}
927919
}
@@ -1015,13 +1007,9 @@ protected Result test(ResolvedJavaMethod method, Object receiver, Object... args
10151007
}
10161008

10171009
protected Result test(OptionValues options, ResolvedJavaMethod method, Object receiver, Object... args) {
1018-
return test(options, method, false, receiver, args);
1019-
}
1020-
1021-
protected final Result test(OptionValues options, ResolvedJavaMethod method, boolean installAsDefault, Object receiver, Object... args) {
10221010
Result expect = executeExpected(method, receiver, args);
10231011
if (getCodeCache() != null) {
1024-
testAgainstExpected(options, method, installAsDefault, expect, CollectionsUtil.setOf(), receiver, args);
1012+
testAgainstExpected(options, method, expect, CollectionsUtil.setOf(), receiver, args);
10251013
}
10261014
return expect;
10271015
}
@@ -1044,36 +1032,26 @@ protected Object[] applyArgSuppliers(Object... args) {
10441032
}
10451033

10461034
protected final void testAgainstExpected(ResolvedJavaMethod method, Result expect, Object receiver, Object... args) {
1047-
testAgainstExpected(getInitialOptions(), method, false, expect, CollectionsUtil.setOf(), receiver, args);
1035+
testAgainstExpected(getInitialOptions(), method, expect, CollectionsUtil.setOf(), receiver, args);
10481036
}
10491037

10501038
protected final void testAgainstExpected(OptionValues options, ResolvedJavaMethod method, Result expect, Object receiver, Object... args) {
1051-
testAgainstExpected(options, method, false, expect, CollectionsUtil.setOf(), receiver, args);
1039+
testAgainstExpected(options, method, expect, CollectionsUtil.setOf(), receiver, args);
10521040
}
10531041

10541042
protected void testAgainstExpected(OptionValues options, ResolvedJavaMethod method, Result expect, Set<DeoptimizationReason> shouldNotDeopt, Object receiver, Object... args) {
1055-
testAgainstExpected(options, method, true, expect, shouldNotDeopt, receiver, args);
1056-
}
1057-
1058-
private void testAgainstExpected(OptionValues options, ResolvedJavaMethod method, boolean installAsDefault, Result expect, Set<DeoptimizationReason> shouldNotDeopt, Object receiver,
1059-
Object... args) {
1060-
Result actual = executeActualCheckDeopt(options, method, installAsDefault, shouldNotDeopt, receiver, args);
1043+
Result actual = executeActualCheckDeopt(options, method, shouldNotDeopt, receiver, args);
10611044
assertEquals(expect, actual);
10621045
}
10631046

10641047
protected final Result executeActualCheckDeopt(OptionValues options, ResolvedJavaMethod method, Set<DeoptimizationReason> shouldNotDeopt, Object receiver,
10651048
Object... args) {
1066-
return executeActualCheckDeopt(options, method, !shouldNotDeopt.isEmpty(), shouldNotDeopt, receiver, args);
1067-
}
1068-
1069-
protected final Result executeActualCheckDeopt(OptionValues options, ResolvedJavaMethod method, boolean installAsDefault, Set<DeoptimizationReason> shouldNotDeopt, Object receiver,
1070-
Object... args) {
10711049
Map<DeoptimizationReason, Integer> deoptCounts = new EnumMap<>(DeoptimizationReason.class);
10721050
ProfilingInfo profile = method.getProfilingInfo();
10731051
for (DeoptimizationReason reason : shouldNotDeopt) {
10741052
deoptCounts.put(reason, profile.getDeoptimizationCount(reason));
10751053
}
1076-
Result actual = executeActual(options, method, installAsDefault, receiver, args);
1054+
Result actual = executeActual(options, method, receiver, args);
10771055
profile = method.getProfilingInfo(); // profile can change after execution
10781056
for (DeoptimizationReason reason : shouldNotDeopt) {
10791057
Assert.assertEquals("wrong number of deopt counts for " + reason, (int) deoptCounts.get(reason), profile.getDeoptimizationCount(reason));
@@ -1206,7 +1184,7 @@ protected InstalledCode getCode(final ResolvedJavaMethod installedCodeOwner, Str
12061184
} catch (Throwable e) {
12071185
throw debug.handle(e);
12081186
}
1209-
if (useCache && !installAsDefault) {
1187+
if (useCache) {
12101188
cache.get().put(installedCodeOwner, Pair.create(options, installedCode));
12111189
}
12121190
return installedCode;
@@ -1387,7 +1365,7 @@ protected SpeculationLog createSpeculationLog() {
13871365
}
13881366

13891367
protected InstalledCode addMethod(DebugContext debug, final ResolvedJavaMethod method, final CompilationResult compilationResult) {
1390-
return backend.addInstalledCode(debug, method, null, compilationResult);
1368+
return backend.createInstalledCode(debug, method, null, compilationResult, null, false, true, null);
13911369
}
13921370

13931371
protected InstalledCode addDefaultMethod(DebugContext debug, final ResolvedJavaMethod method, final CompilationResult compilationResult) {

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/core/test/tutorial/InvokeGraal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ protected InstalledCode compileAndInstallMethod(ResolvedJavaMethod method) {
145145
* Install the compilation result into the VM, i.e., copy the byte[] array that contains
146146
* the machine code into an actual executable memory location.
147147
*/
148-
return backend.addInstalledCode(debug, method, asCompilationRequest(compilationId), compilationResult);
148+
return backend.createInstalledCode(debug, method, asCompilationRequest(compilationId), compilationResult, null, false, true, null);
149149
} catch (Throwable ex) {
150150
throw debug.handle(ex);
151151
}

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/hotspot/test/DeoptimizeReasonAccountingTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -124,7 +124,7 @@ public void testDeoptimize() {
124124
for (boolean osr : new boolean[]{false}) {
125125
this.reason = r;
126126
this.isOSR = osr;
127-
test(getInitialOptions(), getResolvedJavaMethod("deoptimizeSnippet"), true, null, new Object[0]);
127+
test("deoptimizeSnippet");
128128
ProfilingInfo info = lastCompiledGraph.method().getProfilingInfo(!isOSR, isOSR);
129129
int count = info.getDeoptimizationCount(reason);
130130
Assert.assertEquals(String.format("reason:%s, osr:%s", r, osr), 1, count);

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/hotspot/test/JVMCIInfopointErrorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ private void test(DebugContext debug, TestSpec spec) {
159159
CompilationResult compResult = compile(method, graph);
160160
CodeCacheProvider codeCache = getCodeCache();
161161
HotSpotCompiledCode compiledCode = HotSpotCompiledCodeBuilder.createCompiledCode(codeCache, method, null, compResult, getInitialOptions());
162-
codeCache.addCode(method, compiledCode, null, null);
162+
codeCache.addCode(method, compiledCode, null, null, true);
163163
}
164164

165165
@Test(expected = Error.class)

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/hotspot/test/RangeCheckPredicatesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ private void runOutOfBound(String methodName, int size, boolean loopLimitCheck,
103103
Object[] args = new Object[testParameters.length + 1];
104104
args[0] = array;
105105
System.arraycopy(testParameters, 0, args, 1, testParameters.length);
106-
Result result = executeActual(getOptionsMainPath(), method, true, null, args);
106+
Result result = executeActual(getOptionsMainPath(), method, null, args);
107107
Assert.assertNotNull(result.exception);
108108
Assert.assertTrue(result.exception instanceof ArrayIndexOutOfBoundsException);
109109
profile = method.getProfilingInfo();

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/replacements/test/ArrayCopyExceptionSeenTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public void testCopy() {
8888
public void testFailingCopy() throws InvalidInstalledCodeException {
8989
var method = getResolvedJavaMethod("copyWithHandler");
9090
Assert.assertEquals("No recorded deopt expected before first invocation.", 0, method.getProfilingInfo().getDeoptimizationCount(DeoptimizationReason.BoundsCheckException));
91-
test(getInitialOptions(), method, true, null, new Object[]{new Object[3], -1, new Object[3], 0, 1});
91+
test(method, null, new Object[3], -1, new Object[3], 0, 1);
9292
Assert.assertEquals("Single deopt expected after first invocation.", 1, method.getProfilingInfo().getDeoptimizationCount(DeoptimizationReason.BoundsCheckException));
9393
/*
9494
* Force a recompile which should create an explicit exception edge for the System.arraycopy

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/replacements/test/DeoptimizeOnIntegerExactTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -135,6 +135,6 @@ public void testNegateExact() throws InvalidInstalledCodeException {
135135
@Override
136136
protected InstalledCode addMethod(DebugContext debug, final ResolvedJavaMethod method, final CompilationResult compilationResult) {
137137
assert getSpeculationLog() == compilationResult.getSpeculationLog();
138-
return getBackend().createInstalledCode(debug, method, compilationResult, null, false);
138+
return getBackend().createInstalledCode(debug, method, null, compilationResult, null, false, true, null);
139139
}
140140
}

0 commit comments

Comments
 (0)