Skip to content

Commit 9479d28

Browse files
committed
Revert "[GR-67452] Update labsjdk to 26+6-jvmci-b01"
This reverts commit 4c84b4e, reversing changes made to d08dc0e.
1 parent e7d0b2e commit 9479d28

File tree

38 files changed

+191
-215
lines changed

38 files changed

+191
-215
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+6-570", "platformspecific": true, "extrabundles": ["static-libs"]},
11+
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-26+5-361", "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 },
@@ -54,12 +54,12 @@
5454
"labsjdk-ee-25-llvm": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-sulong", "platformspecific": true },
5555
"graalvm-ee-25-ea": {"name": "graalvm-jdk", "version": "25.0.0", "ea": "36", "platformspecific": true },
5656

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

compiler/mx.compiler/mx_compiler.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1264,9 +1264,6 @@ 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
12701267
if latest == 'not found':
12711268
msg = f'No JVMCI JDK found in {common_path} that matches {_jdk_jvmci_version}.'
12721269
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, CollectionsUtil.setOf(), null);
124+
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, true, 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, CollectionsUtil.setOf(), null);
145+
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, true, 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, CollectionsUtil.setOf(), null);
166+
executeActualCheckDeopt(new OptionValues(getInitialOptions(), GraalOptions.LoopPeeling, false, GraalOptions.FullUnroll, false), method, true, 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: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -903,17 +903,25 @@ 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) {
906910
before(method);
907911
Object[] executeArgs = argsWithReceiver(receiver, args);
908912

909913
checkArgs(method, executeArgs);
910914

911-
InstalledCode compiledMethod = getCode(method, options);
915+
InstalledCode compiledMethod = getCode(method, null, false, installAsDefault, options);
912916
try {
913917
return new Result(compiledMethod.executeVarargs(executeArgs), null);
914918
} catch (Throwable e) {
915919
return new Result(null, e);
916920
} finally {
921+
// Prevent a subsequent `executeExpected' call from entering the compiled method
922+
if (installAsDefault) {
923+
compiledMethod.invalidate();
924+
}
917925
after();
918926
}
919927
}
@@ -1007,9 +1015,13 @@ protected Result test(ResolvedJavaMethod method, Object receiver, Object... args
10071015
}
10081016

10091017
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) {
10101022
Result expect = executeExpected(method, receiver, args);
10111023
if (getCodeCache() != null) {
1012-
testAgainstExpected(options, method, expect, CollectionsUtil.setOf(), receiver, args);
1024+
testAgainstExpected(options, method, installAsDefault, expect, CollectionsUtil.setOf(), receiver, args);
10131025
}
10141026
return expect;
10151027
}
@@ -1032,26 +1044,36 @@ protected Object[] applyArgSuppliers(Object... args) {
10321044
}
10331045

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

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

10421054
protected void testAgainstExpected(OptionValues options, ResolvedJavaMethod method, Result expect, Set<DeoptimizationReason> shouldNotDeopt, Object receiver, Object... args) {
1043-
Result actual = executeActualCheckDeopt(options, method, shouldNotDeopt, receiver, 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);
10441061
assertEquals(expect, actual);
10451062
}
10461063

10471064
protected final Result executeActualCheckDeopt(OptionValues options, ResolvedJavaMethod method, Set<DeoptimizationReason> shouldNotDeopt, Object receiver,
10481065
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) {
10491071
Map<DeoptimizationReason, Integer> deoptCounts = new EnumMap<>(DeoptimizationReason.class);
10501072
ProfilingInfo profile = method.getProfilingInfo();
10511073
for (DeoptimizationReason reason : shouldNotDeopt) {
10521074
deoptCounts.put(reason, profile.getDeoptimizationCount(reason));
10531075
}
1054-
Result actual = executeActual(options, method, receiver, args);
1076+
Result actual = executeActual(options, method, installAsDefault, receiver, args);
10551077
profile = method.getProfilingInfo(); // profile can change after execution
10561078
for (DeoptimizationReason reason : shouldNotDeopt) {
10571079
Assert.assertEquals("wrong number of deopt counts for " + reason, (int) deoptCounts.get(reason), profile.getDeoptimizationCount(reason));
@@ -1184,7 +1206,7 @@ protected InstalledCode getCode(final ResolvedJavaMethod installedCodeOwner, Str
11841206
} catch (Throwable e) {
11851207
throw debug.handle(e);
11861208
}
1187-
if (useCache) {
1209+
if (useCache && !installAsDefault) {
11881210
cache.get().put(installedCodeOwner, Pair.create(options, installedCode));
11891211
}
11901212
return installedCode;
@@ -1365,7 +1387,7 @@ protected SpeculationLog createSpeculationLog() {
13651387
}
13661388

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

13711393
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.createInstalledCode(debug, method, asCompilationRequest(compilationId), compilationResult, null, false, true, null);
148+
return backend.addInstalledCode(debug, method, asCompilationRequest(compilationId), compilationResult);
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, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2021, 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("deoptimizeSnippet");
127+
test(getInitialOptions(), getResolvedJavaMethod("deoptimizeSnippet"), true, null, new Object[0]);
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, true);
162+
codeCache.addCode(method, compiledCode, null, null);
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, null, args);
106+
Result result = executeActual(getOptionsMainPath(), method, true, 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(method, null, new Object[3], -1, new Object[3], 0, 1);
91+
test(getInitialOptions(), method, true, null, new Object[]{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, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2019, 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, null, compilationResult, null, false, true, null);
138+
return getBackend().createInstalledCode(debug, method, compilationResult, null, false);
139139
}
140140
}

0 commit comments

Comments
 (0)