Skip to content

Commit 7d2592e

Browse files
committed
[GR-44177] Update to labsjdk-ce-20 build 7 to fix JDK bug and use labsjdk-ce-17 by default
PullRequest: truffleruby/3653
2 parents 9b4e6b8 + 828d8c4 commit 7d2592e

18 files changed

+62
-33
lines changed

ci.jsonnet

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ local part_definitions = {
229229

230230
v17: with_path {
231231
downloads+: {
232-
JAVA_HOME: common.jdks["labsjdk-ee-17"],
232+
JAVA_HOME: common.jdks["labsjdk-ce-17"],
233233
},
234234
environment+: {
235235
JT_JDK: "17",
@@ -238,8 +238,7 @@ local part_definitions = {
238238

239239
v20: with_path {
240240
downloads+: {
241-
# labsjdk-ee-20, to workaround GR-44177 / https://bugs.openjdk.org/browse/JDK-8302160
242-
JAVA_HOME: { name: "labsjdk", version: "ee-20.0.1+2-jvmci-23.0-b06", platformspecific: true },
241+
JAVA_HOME: common.jdks["labsjdk-ce-20"],
243242
},
244243
environment+: {
245244
JT_JDK: "20",

common.json

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
"jdks": {
77
"oraclejdk11": {"name": "jpg-jdk", "version": "11.0.11", "build_id": "9", "release": true, "platformspecific": true, "extrabundles": ["static-libs"] },
88
"oraclejdk17": {"name": "jpg-jdk", "version": "17.0.1", "build_id": "12", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
9-
"labsjdk-ee-17": {"name": "labsjdk", "version": "ee-17.0.6+9-jvmci-22.3-b11", "platformspecific": true },
10-
"labsjdk-ee-17Debug": {"name": "labsjdk", "version": "ee-17.0.6+9-jvmci-22.3-b11-debug", "platformspecific": true },
11-
"labsjdk-ee-17-llvm": {"name": "labsjdk", "version": "ee-17.0.6+9-jvmci-22.3-b11-sulong", "platformspecific": true },
9+
"labsjdk-ee-17": {"name": "labsjdk", "version": "ee-17.0.6+9-jvmci-23.0-b07", "platformspecific": true },
10+
"labsjdk-ee-17Debug": {"name": "labsjdk", "version": "ee-17.0.6+9-jvmci-23.0-b07-debug", "platformspecific": true },
11+
"labsjdk-ee-17-llvm": {"name": "labsjdk", "version": "ee-17.0.6+9-jvmci-23.0-b07-sulong", "platformspecific": true },
12+
"labsjdk-ce-17": {"name": "labsjdk", "version": "ce-17.0.6+10-jvmci-23.0-b07", "platformspecific": true },
13+
"labsjdk-ce-17Debug": {"name": "labsjdk", "version": "ce-17.0.6+10-jvmci-23.0-b07-debug", "platformspecific": true },
14+
"labsjdk-ce-17-llvm": {"name": "labsjdk", "version": "ce-17.0.6+10-jvmci-23.0-b07-sulong", "platformspecific": true },
1215

1316
"oraclejdk19": {"name": "jpg-jdk", "version": "19", "build_id": "26", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
1417
"labsjdk-ce-19": {"name": "labsjdk", "version": "ce-19.0.1+10-jvmci-23.0-b04", "platformspecific": true },
@@ -19,12 +22,12 @@
1922
"labsjdk-ee-19-llvm": {"name": "labsjdk", "version": "ee-19.0.2+7-jvmci-23.0-b05-sulong", "platformspecific": true },
2023

2124
"oraclejdk20": {"name": "jpg-jdk", "version": "20", "build_id": "24", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
22-
"labsjdk-ce-20": {"name": "labsjdk", "version": "ce-20+30-jvmci-23.0-b06", "platformspecific": true },
23-
"labsjdk-ce-20Debug": {"name": "labsjdk", "version": "ce-20+30-jvmci-23.0-b06-debug", "platformspecific": true },
24-
"labsjdk-ce-20-llvm": {"name": "labsjdk", "version": "ce-20+30-jvmci-23.0-b06-sulong", "platformspecific": true },
25-
"labsjdk-ee-20": {"name": "labsjdk", "version": "ee-20.0.1+2-jvmci-23.0-b06", "platformspecific": true },
26-
"labsjdk-ee-20Debug": {"name": "labsjdk", "version": "ee-20.0.1+2-jvmci-23.0-b06-debug", "platformspecific": true },
27-
"labsjdk-ee-20-llvm": {"name": "labsjdk", "version": "ee-20.0.1+2-jvmci-23.0-b06-sulong", "platformspecific": true }
25+
"labsjdk-ce-20": {"name": "labsjdk", "version": "ce-20+34-jvmci-23.0-b07", "platformspecific": true },
26+
"labsjdk-ce-20Debug": {"name": "labsjdk", "version": "ce-20+34-jvmci-23.0-b07-debug", "platformspecific": true },
27+
"labsjdk-ce-20-llvm": {"name": "labsjdk", "version": "ce-20+34-jvmci-23.0-b07-sulong", "platformspecific": true },
28+
"labsjdk-ee-20": {"name": "labsjdk", "version": "ee-20.0.1+4-jvmci-23.0-b07", "platformspecific": true },
29+
"labsjdk-ee-20Debug": {"name": "labsjdk", "version": "ee-20.0.1+4-jvmci-23.0-b07-debug", "platformspecific": true },
30+
"labsjdk-ee-20-llvm": {"name": "labsjdk", "version": "ee-20.0.1+4-jvmci-23.0-b07-sulong", "platformspecific": true }
2831
},
2932

3033
"COMMENT.devkits" : "The devkits versions reflect those used to build the JVMCI JDKs (e.g., see devkit_platform_revisions in <jdk>/make/conf/jib-profiles.js)",

mx.truffleruby/suite.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"name": "regex",
99
"subdir": True,
10-
"version": "d090c8901583d6c6471b82c1c9f4ba644411bf5e",
10+
"version": "ec2a3d5fad8948072b95a57be93efd444c16363e",
1111
"urls": [
1212
{"url": "https://github.com/oracle/graal.git", "kind": "git"},
1313
{"url": "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind": "binary"},
@@ -16,7 +16,7 @@
1616
{
1717
"name": "sulong",
1818
"subdir": True,
19-
"version": "d090c8901583d6c6471b82c1c9f4ba644411bf5e",
19+
"version": "ec2a3d5fad8948072b95a57be93efd444c16363e",
2020
"urls": [
2121
{"url": "https://github.com/oracle/graal.git", "kind": "git"},
2222
{"url": "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind": "binary"},

src/main/java/org/truffleruby/core/binding/BindingNodes.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.oracle.truffle.api.CompilerDirectives;
1818
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
1919
import com.oracle.truffle.api.dsl.GenerateUncached;
20+
import com.oracle.truffle.api.dsl.Idempotent;
2021
import com.oracle.truffle.api.dsl.NeverDefault;
2122
import com.oracle.truffle.api.frame.FrameSlotKind;
2223
import com.oracle.truffle.api.strings.TruffleString;
@@ -155,7 +156,8 @@ public static boolean isHiddenVariable(Object name) {
155156
}
156157
}
157158

158-
private static boolean isHiddenVariable(String name) {
159+
@Idempotent
160+
static boolean isHiddenVariable(String name) {
159161
assert !name.isEmpty();
160162
final char first = name.charAt(0);
161163
return first == '$' || // Frame-local global variable

src/main/java/org/truffleruby/core/encoding/EncodingNodes.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212
package org.truffleruby.core.encoding;
1313

14+
import com.oracle.truffle.api.dsl.Idempotent;
1415
import com.oracle.truffle.api.dsl.ImportStatic;
1516
import com.oracle.truffle.api.dsl.NeverDefault;
1617
import com.oracle.truffle.api.strings.AbstractTruffleString;
@@ -213,6 +214,7 @@ private TruffleString.GetByteCodeRangeNode getCodeRangeNode() {
213214
/** Indicates whether the encoding is one of the runtime-default encodings. Many (most?) applications do not
214215
* override the default encodings and as such, this set of encodings is used very frequently in real-world Ruby
215216
* applications. */
217+
@Idempotent
216218
protected boolean isStandardEncoding(RubyEncoding encoding) {
217219
return encoding == Encodings.UTF_8 || encoding == Encodings.US_ASCII || encoding == Encodings.BINARY;
218220
}

src/main/java/org/truffleruby/core/numeric/IntegerNodes.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import com.oracle.truffle.api.dsl.Cached.Shared;
1717
import com.oracle.truffle.api.dsl.Fallback;
18+
import com.oracle.truffle.api.dsl.Idempotent;
1819
import com.oracle.truffle.api.profiles.LoopConditionProfile;
1920
import com.oracle.truffle.api.strings.TruffleString;
2021
import org.truffleruby.annotations.CoreMethod;
@@ -515,6 +516,7 @@ protected int modPowerOfTwo(int a, int b,
515516
return a & (cachedB - 1);
516517
}
517518

519+
@Idempotent
518520
protected static boolean isPowerOfTwo(int n) {
519521
return n > 0 && (n & (n - 1)) == 0;
520522
}

src/main/java/org/truffleruby/language/RubyBaseNode.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package org.truffleruby.language;
1111

1212
import com.oracle.truffle.api.CompilerAsserts;
13+
import com.oracle.truffle.api.dsl.Idempotent;
1314
import com.oracle.truffle.api.dsl.ImportStatic;
1415
import com.oracle.truffle.api.dsl.TypeSystemReference;
1516
import com.oracle.truffle.api.nodes.EncapsulatingNodeReference;
@@ -50,6 +51,7 @@ public abstract class RubyBaseNode extends Node {
5051

5152
public static final int MAX_EXPLODE_SIZE = 16;
5253

54+
@Idempotent
5355
public boolean isSingleContext() {
5456
return getLanguage().singleContext;
5557
}

src/main/java/org/truffleruby/language/RubyGuards.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.oracle.truffle.api.CompilerAsserts;
1313
import com.oracle.truffle.api.CompilerDirectives;
1414
import com.oracle.truffle.api.dsl.Cached;
15+
import com.oracle.truffle.api.dsl.Idempotent;
1516
import com.oracle.truffle.api.dsl.NeverDefault;
1617
import com.oracle.truffle.api.strings.TruffleString;
1718
import org.truffleruby.core.CoreLibrary;
@@ -94,6 +95,7 @@ public static boolean isPrimitive(Object value) {
9495
return value instanceof Boolean || value instanceof Integer || value instanceof Long || value instanceof Double;
9596
}
9697

98+
@Idempotent
9799
public static boolean isPrimitiveClass(Class<?> clazz) {
98100
return clazz == Boolean.class || clazz == Integer.class || clazz == Long.class || clazz == Double.class;
99101
}
@@ -113,6 +115,7 @@ public static boolean isRubyArray(Object value) {
113115
return value instanceof RubyArray;
114116
}
115117

118+
@Idempotent
116119
public static boolean isRubyClass(Object value) {
117120
return value instanceof RubyClass;
118121
}

src/main/java/org/truffleruby/language/globals/GlobalVariableStorage.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package org.truffleruby.language.globals;
1111

12+
import com.oracle.truffle.api.dsl.Idempotent;
1213
import com.oracle.truffle.api.dsl.NeverDefault;
1314
import org.truffleruby.RubyContext;
1415
import org.truffleruby.core.proc.RubyProc;
@@ -89,6 +90,7 @@ public Assumption getUnchangedAssumption() {
8990
return unchangedAssumption.getAssumption();
9091
}
9192

93+
@Idempotent
9294
public boolean isAssumeConstant() {
9395
return assumeConstant;
9496
}

src/main/java/org/truffleruby/language/globals/LookupGlobalVariableStorageNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public final GlobalVariableStorage execute(Object dynamicArgument) {
4242
protected abstract GlobalVariableStorage executeInternal();
4343

4444
@Specialization(
45-
guards = "getLanguage().singleContext",
45+
guards = "isSingleContext()",
4646
assumptions = "getLanguage().getGlobalVariableNeverAliasedAssumption(index)")
4747
protected GlobalVariableStorage singleContext(
4848
@Cached("getContext().getGlobalVariableStorage(index)") GlobalVariableStorage storage) {

0 commit comments

Comments
 (0)