Skip to content

Commit 63fe3b8

Browse files
committed
[GR-41589] Restructure Sulong gates, drop JDK11 testing.
PullRequest: graal/12938
2 parents 54a86ed + de1ac0f commit 63fe3b8

File tree

12 files changed

+40
-28
lines changed

12 files changed

+40
-28
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ env:
3939
JAVA_HOME: ${{ github.workspace }}/jdk
4040
JDT: builtin
4141
LANG: en_US.UTF-8
42-
MX_GATE_OPTS: "--strict-mode"
4342
MX_GIT_CACHE: refcache
4443
MX_PATH: ${{ github.workspace }}/mx
4544
MX_PYTHON: python3.8
@@ -94,13 +93,11 @@ jobs:
9493
- env:
9594
JDK_VERSION: "19"
9695
GATE: "style,fullbuild,sulongBasic"
97-
MX_GATE_OPTS: "--strict-mode --no-warning-as-error" # sulong throws deprecation warnings
9896
PRIMARY: "sulong"
9997
# /vm
10098
- env:
10199
JDK_VERSION: "19"
102100
GATE: "build,sulong"
103-
MX_GATE_OPTS: "--strict-mode --no-warning-as-error" # sulong throws deprecation warnings
104101
PRIMARY: "vm"
105102
DYNAMIC_IMPORTS: "/sulong,/substratevm"
106103
DISABLE_POLYGLOT: true
@@ -169,4 +166,4 @@ jobs:
169166
run: rm -rf .git
170167
- name: Build GraalVM and run gate
171168
env: ${{ matrix.env }}
172-
run: ${MX_PATH}/mx --primary-suite-path ${PRIMARY} --java-home=${JAVA_HOME} gate ${MX_GATE_OPTS} --tags ${GATE}
169+
run: ${MX_PATH}/mx --primary-suite-path ${PRIMARY} --java-home=${JAVA_HOME} gate --strict-mode --tags ${GATE}

sulong/ci/ci.jsonnet

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,6 @@ local sc = (import "ci_common/sulong-common.jsonnet");
1717
],
1818
},
1919

20-
sulong_gate_generated_sources:: {
21-
job: "generated-sources",
22-
run: [
23-
["mx", "build", "--dependencies", "LLVM_TOOLCHAIN"],
24-
["mx", "create-generated-sources"],
25-
["git", "diff", "--exit-code", "."],
26-
],
27-
},
28-
2920
sulong_coverage:: sc.gateTags("build,sulongCoverage") + {
3021
job::"coverage",
3122
extra_mx_args +: ["--jacoco-whitelist-package", "com.oracle.truffle.llvm", "--jacoco-exclude-annotation", "@GeneratedBy"],
@@ -47,27 +38,21 @@ local sc = (import "ci_common/sulong-common.jsonnet");
4738
},
4839

4940
builds: [ sc.defBuild(b) for b in [
50-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + common.eclipse + sc.gateTags("style") + { name: "gate-sulong-style-jdk17-linux-amd64" },
51-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + common.eclipse + common.jdt + sc.gateTags("fullbuild") + { name: "gate-sulong-fullbuild-jdk17-linux-amd64" },
52-
sc.Description("Recreate generated sources (parsers, etc.) and check for modification") +
53-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + $.sulong_gate_generated_sources { name: "gate-sulong-generated-sources-jdk17-linux-amd64" },
54-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags("build,sulongMisc") + $.sulong_test_toolchain + { name: "gate-sulong-misc-jdk17-linux-amd64" },
55-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags("build,parser") + { name: "gate-sulong-parser-jdk17-linux-amd64" },
41+
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.style + { name: "gate-sulong-style-fullbuild-jdk17-linux-amd64" },
42+
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags("build,sulongMisc,parser") + $.sulong_test_toolchain + { name: "gate-sulong-misc-parser-jdk17-linux-amd64" },
5643
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.gateTags("build,gcc_c") + { name: "gate-sulong-gcc_c-jdk17-linux-amd64", timelimit: "45:00" },
5744
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.gateTags("build,gcc_cpp") + { name: "gate-sulong-gcc_cpp-jdk17-linux-amd64", timelimit: "45:00" },
5845
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags("build,gcc_fortran") + { name: "gate-sulong-gcc_fortran-jdk17-linux-amd64" },
59-
# No more testing on llvm 3.8 [GR-21735]
60-
# sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm38 + sc.requireGMP + sc.requireGCC + sc.gateTags("build,sulongBasic,nwcc,llvm") + { name: "gate-sulong-basic_v38"},
61-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm4 + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTags) + { name: "gate-sulong-basic-nwcc-llvm-v40-jdk17-linux-amd64" },
62-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm6 + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTags) + { name: "gate-sulong-basic-nwcc-llvm-v60-jdk17-linux-amd64" },
63-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm8 + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTags) + { name: "gate-sulong-basic-nwcc-llvm-v80-jdk17-linux-amd64" },
6446

65-
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.darwin_amd64 + sc.llvm4 + sc.gateTags(basicTags) + { name: "gate-sulong-basic-nwcc-llvm-v40-jdk17-darwin-amd64", timelimit: "0:45:00" },
47+
sc.weekly + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm4 + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTags) + { name: "weekly-sulong-basic-nwcc-llvm-v40-jdk17-linux-amd64" },
48+
sc.weekly + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm6 + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTags) + { name: "weekly-sulong-basic-nwcc-llvm-v60-jdk17-linux-amd64" },
49+
sc.weekly + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvm8 + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTags) + { name: "weekly-sulong-basic-nwcc-llvm-v80-jdk17-linux-amd64" },
50+
51+
sc.weekly + $.sulong + sc.labsjdk_ce_17 + sc.darwin_amd64 + sc.llvm4 + sc.gateTags(basicTags) + { name: "weekly-sulong-basic-nwcc-llvm-v40-jdk17-darwin-amd64", timelimit: "0:45:00" },
6652
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.darwin_amd64 + sc.llvmBundled + sc.gateTags(basicTagsToolchain) + { name: "gate-sulong-basic-nwcc-llvm-toolchain-jdk17-darwin-amd64", timelimit: "0:45:00", capabilities+: ["!darwin_sierra"] },
6753

68-
sc.gate + $.sulong + sc.labsjdk_ce_11 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTagsToolchain) + { name: "gate-sulong-basic-nwcc-llvm-toolchain-jdk11-linux-amd64" },
6954
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTagsToolchain) + { name: "gate-sulong-basic-nwcc-llvm-toolchain-jdk17-linux-amd64" },
70-
sc.daily + $.sulong + sc.labsjdk_ce_19 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTagsToolchain) + { name: "daily-sulong-basic-nwcc-llvm-toolchain-jdk19-linux-amd64" },
55+
sc.gate + $.sulong + sc.labsjdk_ce_19 + sc.linux_amd64 + sc.llvmBundled + sc.requireGMP + sc.requireGCC + sc.gateTags(basicTagsToolchain) + { name: "gate-sulong-basic-nwcc-llvm-toolchain-jdk19-linux-amd64" },
7156

7257
sc.gate + $.sulong + sc.labsjdk_ce_17 + sc.linux_aarch64 + sc.llvmBundled + sc.requireGMP + sc.gateTags(basicTagsNoNWCC) + { name: "gate-sulong-basic-llvm-jdk17-linux-aarch64", timelimit: "30:00" },
7358

sulong/ci/ci_common/sulong-common.jsonnet

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ local sulong_deps = composable((import "../../../common.json").sulong.deps);
114114
[self.mx + ["gate"] + self.extra_gate_args + ["--tags", tags]],
115115
} + self.Description("Run mx gate --tags " + tags),
116116

117+
style:: common.eclipse + common.jdt + $.gateTags("style,fullbuild") + {
118+
extra_gate_args+:: ["--strict-mode"],
119+
},
120+
117121
sulong_gateTest_default_tools:: {
118122
environment+: {
119123
CLANG_LLVM_AS: "llvm-as",

sulong/mx.sulong/mx_sulong_gate.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ def _sulong_gate_runner(args, tasks):
178178
def _unittest(title, test_suite, tags=None, testClasses=None, unittestArgs=None, extraUnittestArgs=None, description=None):
179179
_unittest_task_factory.add(title, test_suite, args, tags=tags, testClasses=testClasses, unittestArgs=unittestArgs, extraUnittestArgs=extraUnittestArgs, description=description)
180180

181+
with Task('GenerateSources', tasks, tags=['fullbuild']) as t:
182+
if t:
183+
mx.command_function('create-generated-sources')(['--check'])
184+
181185
with Task('CheckCopyright', tasks, tags=['style']) as t:
182186
if t:
183187
if mx.checkcopyrights(['--primary']) != 0:

sulong/mx.sulong/mx_sulong_gen.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
# OF THE POSSIBILITY OF SUCH DAMAGE.
2929
#
3030
import os
31+
from argparse import ArgumentParser
3132

3233
import mx
3334
import mx_sulong
@@ -199,5 +200,12 @@ def generate_llvm_config(args=None, **kwargs):
199200

200201
@mx.command(_suite.name, "create-generated-sources", usage_msg="# recreate generated source files (parsers, config files)")
201202
def create_generated_sources(args=None, out=None):
203+
parser = ArgumentParser(prog='mx create-generated-sources', description='recreate generated source files (parsers, config files)')
204+
parser.add_argument('--check', action='store_true', help='check for differences, fail if anything changed')
205+
parsed_args, args = parser.parse_known_args(args)
206+
202207
create_parsers(args, out=out)
203208
generate_llvm_config(args, out=out)
209+
210+
if parsed_args.check:
211+
mx.run(['git', 'diff', '--exit-code'])

sulong/projects/com.oracle.truffle.llvm.runtime/src/com/oracle/truffle/llvm/runtime/PlatformCapability.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public void initializeThread(@SuppressWarnings("unused") LLVMContext context,
7777
// Nothing needs to be done in Sulong for native thread initialization.
7878
}
7979

80+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
8081
public void disposeThread(@SuppressWarnings("unused") LLVMContext context,
8182
@SuppressWarnings("unused") Thread thread) {
8283
context.getpThreadContext().callDestructors(context, thread.getId());

sulong/projects/com.oracle.truffle.llvm.runtime/src/com/oracle/truffle/llvm/runtime/instruments/trace/LLVMTraceNodeFactory.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ private abstract static class TraceNode extends ExecutionEventNode {
9292
}
9393

9494
@TruffleBoundary
95+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
9596
static void trace(String message) {
9697
LLVMContext.traceIRLog(String.format("(Thread #%d) %s", Thread.currentThread().getId(), message));
9798
}

sulong/projects/com.oracle.truffle.llvm.runtime/src/com/oracle/truffle/llvm/runtime/nodes/asm/syscall/LLVMAMD64SyscallSetTidAddressNode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2019, Oracle and/or its affiliates.
2+
* Copyright (c) 2017, 2022, Oracle and/or its affiliates.
33
*
44
* All rights reserved.
55
*
@@ -40,6 +40,7 @@ public final String getName() {
4040
}
4141

4242
@Specialization
43+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
4344
protected long doOp(@SuppressWarnings("unused") Object tidptr) {
4445
return Thread.currentThread().getId();
4546
}

sulong/projects/com.oracle.truffle.llvm.runtime/src/com/oracle/truffle/llvm/runtime/nodes/intrinsics/multithreading/LLVMThreadIntrinsics.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public abstract static class LLVMThreadCreate extends LLVMBuiltin {
5454

5555
@Specialization
5656
@TruffleBoundary
57+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
5758
protected int doIntrinsic(LLVMPointer thread, LLVMPointer startRoutine, LLVMPointer arg,
5859
@Cached LLVMI64StoreNode store) {
5960
LLVMContext context = getContext();
@@ -78,6 +79,7 @@ protected int doIntrinsic(Object returnValue) {
7879
}
7980

8081
@TruffleBoundary
82+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
8183
private static void setThreadReturnValue(Object returnValue, LLVMContext context) {
8284
context.getpThreadContext().setThreadReturnValue(Thread.currentThread().getId(), returnValue);
8385
}
@@ -141,6 +143,7 @@ protected long doIntrinsic() {
141143
}
142144

143145
@TruffleBoundary
146+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
144147
private static long getThreadId() {
145148
return Thread.currentThread().getId();
146149
}

sulong/projects/com.oracle.truffle.llvm.runtime/src/com/oracle/truffle/llvm/runtime/nodes/intrinsics/multithreading/LLVMThreadStart.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ static final class LLVMThreadRunnable implements Runnable {
6060
}
6161

6262
@Override
63+
@SuppressWarnings("deprecation") // GR-41711: we still need Thread.getId() for JDK17 support
6364
public void run() {
6465
final LLVMPThreadContext pThreadContext = context.getpThreadContext();
6566

0 commit comments

Comments
 (0)