Skip to content

Commit b91fc9e

Browse files
committed
Merge in master
2 parents 7ee23c8 + eca7e0b commit b91fc9e

File tree

239 files changed

+5749
-1670
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

239 files changed

+5749
-1670
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.58.6",
7+
"mx_version": "7.58.9",
88

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

compiler/ci/ci_common/benchmark-suites.libsonnet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129

130130
barista_template(suite_version=null, suite_name="barista", max_jdk_version=null, cmd_app_prefix=["hwloc-bind --cpubind node:0.core:0-3.pu:0 --membind node:0"], non_prefix_barista_args=[]):: cc.compiler_benchmark + {
131131
suite:: suite_name,
132-
local barista_version = "v0.4.4",
132+
local barista_version = "v0.4.6",
133133
local suite_version_args = if suite_version != null then ["--bench-suite-version=" + suite_version] else [],
134134
local prefix_barista_arg = if std.length(cmd_app_prefix) > 0 then [std.format("--cmd-app-prefix=%s", std.join(" ", cmd_app_prefix))] else [],
135135
local all_barista_args = prefix_barista_arg + non_prefix_barista_args,

compiler/ci/ci_common/gate.jsonnet

Lines changed: 134 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,18 @@
6666
python_version: "3"
6767
},
6868

69+
tier1:: {
70+
targets: ["tier1"],
71+
},
72+
73+
tier2:: {
74+
targets: ["tier2"],
75+
},
76+
77+
tier3:: {
78+
targets: ["tier3"],
79+
},
80+
6981
daily:: {
7082
# Re-use existing mailing list for weeklies
7183
notify_groups: ["compiler_weekly"],
@@ -87,7 +99,11 @@
8799
},
88100

89101
test:: s.base(no_warning_as_error=true, extra_vm_args="-Djdk.graal.DetailedAsserts=true"),
102+
unittest_compiler:: s.base(tags="build,unittest-compiler", no_warning_as_error=true, extra_vm_args="-Djdk.graal.DetailedAsserts=true"),
103+
unittest_truffle:: s.base(tags="build,unittest-truffle", no_warning_as_error=true, extra_vm_args="-Djdk.graal.DetailedAsserts=true"),
90104
test_zgc:: s.base(no_warning_as_error=true, extra_vm_args="-XX:+UseZGC"),
105+
unittest_compiler_zgc:: s.base(tags="build,unittest-compiler", no_warning_as_error=true, extra_vm_args="-XX:+UseZGC"),
106+
unittest_truffle_zgc:: s.base(tags="build,unittest-truffle", no_warning_as_error=true, extra_vm_args="-XX:+UseZGC"),
91107
test_serialgc:: s.base(no_warning_as_error=true, extra_vm_args="-XX:+UseSerialGC"),
92108

93109
jacoco_gate_args:: ["--jacoco-omit-excluded", "--jacoco-relativize-paths", "--jacoco-omit-src-gen", "--jacocout", "coverage", "--jacoco-format", "lcov"],
@@ -175,10 +191,6 @@
175191
}
176192
},
177193

178-
many_cores:: {
179-
capabilities+: ["manycores"]
180-
},
181-
182194
# Returns the value of the `name` field if it exists in `obj` otherwise `default`.
183195
get(obj, name, default=null)::
184196
if obj == null then default else
@@ -195,16 +207,6 @@
195207

196208
manifest_match(manifest, name):: [key for key in std.objectFields(manifest) if key_matches_value(key, name)] != [],
197209

198-
# Request nodes with at least 16GB of RAM
199-
ram16gb:: {
200-
capabilities+: ["ram16gb"],
201-
},
202-
203-
# Avoid using xgene3 nodes
204-
avoid_xgene3:: {
205-
capabilities+: ["!xgene3"],
206-
},
207-
208210
jdk_latest:: "Latest",
209211

210212
# Filters out the non-style gate jobs if in CE
@@ -213,102 +215,140 @@
213215
for name in std.objectFields(gate_jobs) if utils.contains(name, "style")
214216
} else gate_jobs,
215217

216-
# Converts the non-style gate jobs to dailies if in CE
217-
as_dailies(gate_jobs):: if config.graalvm_edition == "ce" then {
218+
# Converts the non-style jobs to dailies if in CE
219+
as_dailies(jobs):: if config.graalvm_edition == "ce" then {
218220
# Force daily timelimit (assumes it is greater than any specified gate timelimit)
219-
[std.strReplace(name, "gate", "daily")]: gate_jobs[name] + {timelimit: $.daily.timelimit}
220-
for name in std.objectFields(gate_jobs) if !utils.contains(name, "style")
221+
[name]: jobs[name] + {timelimit: $.daily.timelimit}
222+
for name in std.objectFields(jobs) if !utils.contains(name, "style")
221223
} else {},
222224

223-
# Candidates for gate jobs. In CE, these will be dailies instead of gates.
224-
local gate_jobs = {
225-
"gate-compiler-test-labsjdk-latest-linux-amd64": t("1:00:00"),
226-
"gate-compiler-test-labsjdk-latest-linux-aarch64": t("1:50:00") + s.avoid_xgene3,
227-
"gate-compiler-test-labsjdk-latest-darwin-amd64": t("1:00:00") + s.ram16gb,
228-
"gate-compiler-test-labsjdk-latest-darwin-aarch64": t("1:00:00"),
229-
"gate-compiler-test-labsjdk-latest-windows-amd64": t("1:30:00"),
230-
"gate-compiler-test_zgc-labsjdk-latest-linux-amd64": t("1:00:00"),
231-
"gate-compiler-test_zgc-labsjdk-latest-linux-aarch64": t("1:50:00") + s.avoid_xgene3,
232-
"gate-compiler-test_zgc-labsjdk-latest-darwin-amd64": t("1:00:00") + s.ram16gb,
233-
"gate-compiler-test_zgc-labsjdk-latest-darwin-aarch64": t("1:00:00"),
234-
225+
# Candidates for Tier1 jobs. In CE, these will be dailies.
226+
local tier1_jobs = {
235227
# Style jobs need to stay on a JDK compatible with all the style
236228
# checking tools (SpotBugs, Checkstyle, Eclipse formatter etc).
237-
"gate-compiler-style-labsjdk-latest-linux-amd64": t("45:00"),
229+
"compiler-style-labsjdk-latest-linux-amd64": {},
230+
},
238231

239-
"gate-compiler-ctw-labsjdk-latest-linux-amd64": {},
240-
"gate-compiler-ctw-labsjdk-latest-windows-amd64": t("1:50:00"),
241-
"gate-compiler-ctw_zgc-labsjdk-latest-linux-amd64": {},
232+
# Candidates for Tier2 jobs. In CE, these will be dailies.
233+
local tier2_jobs = {
234+
"compiler-unittest_compiler-labsjdk-latest-linux-amd64": {},
235+
"compiler-unittest_truffle-labsjdk-latest-linux-amd64": {},
236+
"compiler-ctw-labsjdk-latest-linux-amd64": {},
237+
"compiler-ctw_economy-labsjdk-latest-linux-amd64": {},
238+
"compiler-benchmarktest-labsjdk-latest-linux-amd64": {},
239+
},
242240

243-
"gate-compiler-ctw_economy-labsjdk-latest-linux-amd64": {},
244-
"gate-compiler-ctw_economy-labsjdk-latest-windows-amd64": t("1:50:00"),
241+
# Candidates for Tier3 jobs. In CE, these will be dailies.
242+
local tier3_jobs = {
243+
"compiler-unittest_compiler-labsjdk-latest-darwin-aarch64": {},
244+
"compiler-unittest_truffle-labsjdk-latest-darwin-aarch64": {},
245+
"compiler-unittest_compiler-labsjdk-latest-linux-aarch64": {},
246+
"compiler-unittest_truffle-labsjdk-latest-linux-aarch64": {},
245247

246-
"gate-compiler-benchmarktest-labsjdk-latest-linux-amd64": {},
247-
"gate-compiler-benchmarktest_zgc-labsjdk-latest-linux-amd64": {},
248+
"compiler-unittest_compiler_zgc-labsjdk-latest-linux-amd64": {},
248249

249-
"gate-compiler-truffle_xcomp-labsjdk-latest-linux-amd64": t("1:30:00"),
250-
"gate-compiler-truffle_xcomp_zgc-labsjdk-latest-linux-amd64": t("1:30:00")
250+
"compiler-truffle_xcomp-labsjdk-latest-linux-amd64": {},
251251
},
252252

253+
# Candidates for gate jobs. In CE, these will be dailies instead of gates.
254+
local gate_jobs = {},
255+
253256
# This map defines the builders that run as gates. Each key in this map
254257
# must correspond to the name of a build created by `make_build`.
255258
# Each value in this map is an object that overrides or extends the
256259
# fields of the denoted build.
257260
local gates = $.as_gates(gate_jobs),
258261

262+
# This map defines the builders that run as tier1. Each key in this map
263+
# must correspond to the name of a build created by `make_build`.
264+
# Each value in this map is an object that overrides or extends the
265+
# fields of the denoted build.
266+
local tier1s = $.as_gates(tier1_jobs),
267+
268+
# This map defines the builders that run as tier2. Each key in this map
269+
# must correspond to the name of a build created by `make_build`.
270+
# Each value in this map is an object that overrides or extends the
271+
# fields of the denoted build.
272+
local tier2s = $.as_gates(tier2_jobs),
273+
274+
# This map defines the builders that run as tier3. Each key in this map
275+
# must correspond to the name of a build created by `make_build`.
276+
# Each value in this map is an object that overrides or extends the
277+
# fields of the denoted build.
278+
local tier3s = $.as_gates(tier3_jobs),
279+
259280
# This map defines the builders that run daily. Each key in this map
260281
# must be the name of a build created by `make_build` (or be the prefix
261282
# of a build name if the key ends with "*").
262283
# Each value in this map is an object that overrides or extends the
263284
# fields of the denoted build.
264285
local dailies = {
265-
"daily-compiler-ctw-labsjdk-latest-linux-aarch64": {},
266-
"daily-compiler-ctw-labsjdk-latest-darwin-amd64": {},
267-
"daily-compiler-ctw-labsjdk-latest-darwin-aarch64": {},
286+
"compiler-test-labsjdk-latest-darwin-amd64": {},
287+
"compiler-test-labsjdk-latest-windows-amd64": {},
288+
289+
"compiler-test_zgc-labsjdk-latest-darwin-aarch64": {},
290+
"compiler-test_zgc-labsjdk-latest-darwin-amd64": {},
291+
"compiler-test_zgc-labsjdk-latest-linux-aarch64": {},
292+
"compiler-test_zgc-labsjdk-latest-linux-amd64": {},
293+
294+
"compiler-ctw-labsjdk-latest-darwin-aarch64": {},
295+
"compiler-ctw-labsjdk-latest-darwin-amd64": {},
296+
"compiler-ctw-labsjdk-latest-linux-aarch64": {},
297+
"compiler-ctw-labsjdk-latest-windows-amd64": {},
298+
299+
"compiler-ctw_zgc-labsjdk-latest-linux-amd64": {},
300+
301+
"compiler-ctw_economy-labsjdk-latest-darwin-aarch64": {},
302+
"compiler-ctw_economy-labsjdk-latest-darwin-amd64": {},
303+
"compiler-ctw_economy-labsjdk-latest-linux-aarch64": {},
304+
"compiler-ctw_economy-labsjdk-latest-windows-amd64": {},
268305

269-
"daily-compiler-ctw_economy-labsjdk-latest-linux-aarch64": {},
270-
"daily-compiler-ctw_economy-labsjdk-latest-darwin-amd64": {},
271-
"daily-compiler-ctw_economy-labsjdk-latest-darwin-aarch64": {},
306+
"compiler-bootstrap_lite-labsjdk-latest-darwin-amd64": {},
272307

273-
"daily-compiler-bootstrap_lite-labsjdk-latest-darwin-amd64": {},
308+
"compiler-bootstrap_full-labsjdk-latest-linux-amd64": {},
309+
"compiler-bootstrap_full_zgc-labsjdk-latest-linux-amd64": {},
274310

275-
"daily-compiler-bootstrap_full-labsjdk-latest-linux-amd64": s.many_cores,
276-
"daily-compiler-bootstrap_full_zgc-labsjdk-latest-linux-amd64": s.many_cores
277-
} + $.as_dailies(gate_jobs),
311+
"compiler-benchmarktest_zgc-labsjdk-latest-linux-amd64": {},
312+
"compiler-truffle_xcomp_zgc-labsjdk-latest-linux-amd64": {},
313+
}
314+
+ $.as_dailies(gate_jobs)
315+
+ $.as_dailies(tier1_jobs)
316+
+ $.as_dailies(tier2_jobs)
317+
+ $.as_dailies(tier3_jobs),
278318

279319
# This map defines the builders that run weekly. Each key in this map
280320
# must be the name of a build created by `make_build` (or be the prefix
281321
# of a build name if the key ends with "*").
282322
# Each value in this map is an object that overrides or extends the
283323
# fields of the denoted build.
284324
local weeklies = {
285-
"weekly-compiler-ctw_phaseplan_fuzzing-labsjdk-latest-linux-amd64": {
325+
"compiler-ctw_phaseplan_fuzzing-labsjdk-latest-linux-amd64": {
286326
notify_groups: [],
287327
notify_emails: ["[email protected]"],
288328
logs+: ["*/graal_dumps/*/*_failure.log"],
289329
},
290330

291-
"weekly-compiler-test_vec16-labsjdk-latest-linux-amd64": {},
292-
"weekly-compiler-test_avx0-labsjdk-latest-linux-amd64": {},
293-
"weekly-compiler-test_avx1-labsjdk-latest-linux-amd64": {},
331+
"compiler-test_vec16-labsjdk-latest-linux-amd64": {},
332+
"compiler-test_avx0-labsjdk-latest-linux-amd64": {},
333+
"compiler-test_avx1-labsjdk-latest-linux-amd64": {},
294334

295-
"weekly-compiler-test_jtt_phaseplan_fuzzing-labsjdk-latest-linux-amd64": {
335+
"compiler-test_jtt_phaseplan_fuzzing-labsjdk-latest-linux-amd64": {
296336
notify_groups: [],
297337
notify_emails: ["[email protected]"],
298338
},
299339

300-
"weekly-compiler-benchmarktest-labsjdk-latestDebug-linux-amd64": t("6:00:00"),
301-
"weekly-compiler-benchmarktest-labsjdk-latestDebug-darwin-aarch64": t("6:00:00"),
340+
"compiler-benchmarktest-labsjdk-latestDebug-linux-amd64": t("6:00:00"),
341+
"compiler-benchmarktest-labsjdk-latestDebug-darwin-aarch64": t("6:00:00"),
302342

303-
"weekly-compiler-coverage*": {},
343+
"compiler-coverage*": {},
304344

305-
"weekly-compiler-test_serialgc-labsjdk-latest-linux-amd64": {},
306-
"weekly-compiler-test_serialgc-labsjdk-latest-linux-aarch64": {},
307-
"weekly-compiler-test_serialgc-labsjdk-latest-darwin-amd64": {},
308-
"weekly-compiler-test_serialgc-labsjdk-latest-darwin-aarch64": {},
345+
"compiler-test_serialgc-labsjdk-latest-linux-amd64": {},
346+
"compiler-test_serialgc-labsjdk-latest-linux-aarch64": {},
347+
"compiler-test_serialgc-labsjdk-latest-darwin-amd64": {},
348+
"compiler-test_serialgc-labsjdk-latest-darwin-aarch64": {},
309349

310-
"weekly-compiler-truffle_xcomp_serialgc-labsjdk-latest-linux-amd64": {},
311-
"weekly-compiler-truffle_xcomp_serialgc-labsjdk-latest-linux-aarch64": {},
350+
"compiler-truffle_xcomp_serialgc-labsjdk-latest-linux-amd64": {},
351+
"compiler-truffle_xcomp_serialgc-labsjdk-latest-linux-aarch64": {},
312352
},
313353

314354
# This map defines overrides and field extensions for monthly builds.
@@ -329,38 +369,46 @@
329369
include_common_os_arch=true,
330370
jdk_name="labsjdk",
331371
gates_manifest=gates,
372+
tier1_manifest=tier1s,
373+
tier2_manifest=tier2s,
374+
tier3_manifest=tier3s,
332375
dailies_manifest=dailies,
333376
weeklies_manifest=weeklies,
334377
monthlies_manifest=monthlies):: {
335-
local base_name = "%s-%s-%s-%s-%s" % [suite, task, jdk_name, if std.startsWith(jdk, "Latest") then "l" + jdk[1:] else jdk, os_arch],
336-
local gate_name = "gate-" + base_name,
337-
local daily_name = "daily-" + base_name,
338-
local weekly_name = "weekly-" + base_name,
339-
local monthly_name = "monthly-" + base_name,
340-
341-
local is_gate = $.manifest_match(gates_manifest, gate_name),
342-
local is_daily = $.manifest_match(dailies_manifest, daily_name),
343-
local is_monthly = $.manifest_match(monthlies_manifest, monthly_name),
344-
local is_weekly = !is_gate && !is_daily && !is_monthly, # Default to weekly
378+
local build_name = "%s-%s-%s-%s-%s" % [suite, task, jdk_name, if std.startsWith(jdk, "Latest") then "l" + jdk[1:] else jdk, os_arch],
379+
380+
local is_gate = $.manifest_match(gates_manifest, build_name),
381+
local is_tier1 = $.manifest_match(tier1_manifest, build_name),
382+
local is_tier2 = $.manifest_match(tier2_manifest, build_name),
383+
local is_tier3 = $.manifest_match(tier3_manifest, build_name),
384+
local is_daily = $.manifest_match(dailies_manifest, build_name),
385+
local is_monthly = $.manifest_match(monthlies_manifest, build_name),
386+
local is_weekly = !is_gate && !is_tier1 && !is_tier2 && !is_tier3 && !is_daily && !is_monthly, # Default to weekly
345387
local is_windows = utils.contains(os_arch, "windows"),
346388
local extra = if is_gate then
347-
$.get(gates_manifest, gate_name, {})
389+
$.get(gates_manifest, build_name, {})
390+
else if is_tier1 then
391+
$.get(tier1_manifest, build_name, {})
392+
else if is_tier2 then
393+
$.get(tier2_manifest, build_name, {})
394+
else if is_tier3 then
395+
$.get(tier3_manifest, build_name, {})
348396
else if is_daily then
349-
$.get(dailies_manifest, daily_name, {})
397+
$.get(dailies_manifest, build_name, {})
350398
else if is_weekly then
351-
$.get(weeklies_manifest, weekly_name, {})
399+
$.get(weeklies_manifest, build_name, {})
352400
else if is_monthly then
353-
$.get(monthlies_manifest, monthly_name, {}),
401+
$.get(monthlies_manifest, build_name, {}),
354402

355403
build: {
356-
name: if is_gate then gate_name
357-
else if is_daily then daily_name
358-
else if is_weekly then weekly_name
359-
else monthly_name
404+
name: build_name
360405
} +
361406
(s + extra_tasks)[task] +
362407
c["%s%s" % [jdk_name, jdk]] +
363408
(if include_common_os_arch then c[std.strReplace(os_arch, "-", "_")] else {}) +
409+
(if is_tier1 then s.tier1 else {}) +
410+
(if is_tier2 then s.tier2 else {}) +
411+
(if is_tier3 then s.tier3 else {}) +
364412
(if is_daily then s.daily else {}) +
365413
(if is_weekly then s.weekly else {}) +
366414
(if is_monthly then s.monthly else {}) +
@@ -410,6 +458,8 @@
410458
local all_platforms_builds = [self.make_build(jdk, os_arch, task).build + galahad.exclude
411459
for task in [
412460
"test",
461+
"unittest_compiler",
462+
"unittest_truffle",
413463
"truffle_xcomp",
414464
"ctw",
415465
"ctw_economy",
@@ -455,6 +505,8 @@
455505
]
456506
for task in [
457507
"test_zgc",
508+
"unittest_compiler_zgc",
509+
"unittest_truffle_zgc",
458510
"truffle_xcomp_zgc",
459511
"ctw_zgc",
460512
"benchmarktest_zgc",

compiler/ci/ci_includes/baseline-benchmarks.jsonnet

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717

1818
local hotspot_profiling_builds = std.flattenArrays([
1919
[
20-
c.monthly + hw.x52 + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
21-
c.monthly + hw.a12c + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
22-
c.monthly + hw.x52 + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" },
23-
c.monthly + hw.a12c + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" }
20+
c.monthly + hw.x52 + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
21+
c.monthly + hw.a12c + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
22+
c.monthly + hw.x52 + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" },
23+
c.monthly + hw.a12c + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" },
24+
c.monthly + hw.x52_root + jdk + cc.c2 + suite + cc.energy_tracking + { job_prefix:: "bench-compiler-energy" }
2425
]
2526
for jdk in cc.product_jdks
2627
for suite in bench.groups.main_suites

compiler/ci/ci_includes/bootstrap_extra.libsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
# See definition of `gate_jobs` local variable in ../ci_common/gate.jsonnet
77
local gate_jobs = {
8-
"gate-compiler-bootstrap-labsjdk-latest-linux-amd64": g.many_cores,
9-
"gate-compiler-bootstrap_economy-labsjdk-latest-linux-amd64": g.many_cores,
8+
"compiler-bootstrap-labsjdk-latest-linux-amd64": {},
9+
"compiler-bootstrap_economy-labsjdk-latest-linux-amd64": {},
1010
},
1111
local gates = g.as_gates(gate_jobs),
1212
local dailies = g.as_dailies(gate_jobs),

0 commit comments

Comments
 (0)