From 35371e9a084cc87b6a02fdaa4c0788b060a513d0 Mon Sep 17 00:00:00 2001 From: Kunshan Wang Date: Mon, 8 Dec 2025 20:19:53 +0800 Subject: [PATCH 1/2] Document support tiers We add a section in README.md and mention the level of support we provide for each platform (target triple) in a similar way the Rust project defines "tiers". Closes: https://github.com/mmtk/mmtk-core/issues/1430 --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README.md b/README.md index 723a77153a..d57542ba16 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,37 @@ latest Rust toolchain rather than relying on an outdated version of Rust. Note, however, that we may switch to a more conservative MSRV policy in the future when MMTk reaches a stable state. +## Supported platforms + +[Like Rust][rustps], supports for different platforms (targets) are organized into three tiers. + +- Tier 1 platforms are guaranteed to work. We do CI tests with the MMTk core and at least one binding. +- Tier 2 platforms are guaranteed to build. We do CI tests with the MMTk core. +- Tier 3 platforms have support in the mmtk-core code base, but we make no guarantee whether they will build or work. + +Here is a list of supported platforms. + +| Platform | Rust tier | MMTk tier | Notes | +|-----------------------------|-----------|-----------|-------| +| x86_64-unknown-linux-gnu | 1 | 1 | (1) | +| i686-unknown-linux-gnu | 1 | 1 | (2) | +| x86_64-apple-darwin | 2 | 2 | (3) | +| aarch64-unknown-linux-gnu | 1 | 3 | (4) | +| riscv64gc-unknown-linux-gnu | 2 | 3 | (4) | +| aarch64-linux-android | 2 | 3 | (5) | + +Notes: + +1. x86_64-unknown-linux-gnu is the most actively supported platform. +2. We still test JikesRVM on 32-bit x86, although experimental 64-bit support for JikesRVM exists. +3. Rust recently [demoted][x86appledem] x86_64-apple-darwin to Tier 2. We will replace it with aarch64-apple-darwin in the future. +4. We don't test the aarch64 or riscv64gc Linux targets on the CI for now, but they are both known to work with OpenJDK 21. +5. An [ART binding][mmtk-art] exists. + +[rustps]: https://doc.rust-lang.org/nightly/rustc/platform-support.html +[x86appledem]: https://github.com/mmtk/mmtk-core/issues/1365 +[mmtk-art]: https://github.com/k-sareen/mmtk-art + ## Contributing to MMTk Thank you for your interest in contributing to MMTk. We appreciate all the contributors. Generally you can contribute to MMTk by either From 641e86b0d109323dcfb81f1a2e2af78382346d87 Mon Sep 17 00:00:00 2001 From: Kunshan Wang Date: Tue, 9 Dec 2025 10:13:17 +0800 Subject: [PATCH 2/2] Fix to address comments Add x86_64-linux-android No longer mention CI in the definition of tiers. Remove all notes except one. --- README.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d57542ba16..3b55708460 100644 --- a/README.md +++ b/README.md @@ -136,30 +136,27 @@ a stable state. ## Supported platforms -[Like Rust][rustps], supports for different platforms (targets) are organized into three tiers. +Like [Rust platform support tiers][rustps], supports for MMTk core on different platforms (targets) are organized into three tiers. -- Tier 1 platforms are guaranteed to work. We do CI tests with the MMTk core and at least one binding. -- Tier 2 platforms are guaranteed to build. We do CI tests with the MMTk core. +- Tier 1 platforms are guaranteed to work. +- Tier 2 platforms are guaranteed to build. - Tier 3 platforms have support in the mmtk-core code base, but we make no guarantee whether they will build or work. Here is a list of supported platforms. | Platform | Rust tier | MMTk tier | Notes | |-----------------------------|-----------|-----------|-------| -| x86_64-unknown-linux-gnu | 1 | 1 | (1) | -| i686-unknown-linux-gnu | 1 | 1 | (2) | -| x86_64-apple-darwin | 2 | 2 | (3) | -| aarch64-unknown-linux-gnu | 1 | 3 | (4) | -| riscv64gc-unknown-linux-gnu | 2 | 3 | (4) | -| aarch64-linux-android | 2 | 3 | (5) | +| x86_64-unknown-linux-gnu | 1 | 1 | | +| i686-unknown-linux-gnu | 1 | 1 | | +| x86_64-apple-darwin | 2 | 2 | (1) | +| aarch64-unknown-linux-gnu | 1 | 3 | | +| riscv64gc-unknown-linux-gnu | 2 | 3 | | +| aarch64-linux-android | 2 | 3 | | +| x86_64-linux-android | 2 | 3 | | Notes: -1. x86_64-unknown-linux-gnu is the most actively supported platform. -2. We still test JikesRVM on 32-bit x86, although experimental 64-bit support for JikesRVM exists. -3. Rust recently [demoted][x86appledem] x86_64-apple-darwin to Tier 2. We will replace it with aarch64-apple-darwin in the future. -4. We don't test the aarch64 or riscv64gc Linux targets on the CI for now, but they are both known to work with OpenJDK 21. -5. An [ART binding][mmtk-art] exists. +1. Rust recently [demoted][x86appledem] x86_64-apple-darwin to Tier 2. We will replace it with aarch64-apple-darwin in the future. [rustps]: https://doc.rust-lang.org/nightly/rustc/platform-support.html [x86appledem]: https://github.com/mmtk/mmtk-core/issues/1365