RFR: 8304915: Create jdk.internal.util.Architecture enum and apply [v4]

Bernd duke at openjdk.org
Wed Apr 5 20:35:17 UTC 2023


On Wed, 5 Apr 2023 19:20:08 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> Define an internal jdk.internal.util.Architecture enumeration and static methods to replace uses of the system property `os.arch`.
>> The enumeration values are defined to match those used in the build.
>> The initial values are: `X64, X86, IA64, ARM, AARCH64, RISCV64, S390X, PPC64LE`
>> Note that `amd64` and `x86_64` in the build are represented by `X64`.
>> The values of the system property `os.arch` is unchanged.
>> 
>> The API is similar to the jdk.internal.util.OperatingSystem enum created by #[12931](https://git.openjdk.org/jdk/pull/12931).
>> Uses in `java.base` and a few others are included but other modules will be done in separate PRs.
>
> Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Correct spelling of isAARCH64 in WIndows AttachProviderImpl

src/java.base/share/classes/jdk/internal/foreign/CABI.java line 48:

> 46:         // might be running in a 32-bit VM on a 64-bit platform.
> 47:         // addressSize will be correctly 32
> 48:         if (Architecture.isX64() && ADDRESS_SIZE == 64) {

Is there a difference to Architecture.is64bit (I.e. is the later or the former runtime vs compiletime

src/java.base/share/classes/jdk/internal/util/Architecture.java line 77:

> 75:      */
> 76:     @ForceInline
> 77:     public static boolean isARM() {

It should define what’s the difference to aarch64 for example will aarch64 also be arm, but arm32 wont? (Or remove)

test/jdk/jdk/internal/util/ArchTest.java line 58:

> 56:     @Test
> 57:     public void nameVsCurrent() {
> 58:         String osArch = System.getProperty("os.arch").toLowerCase(Locale.ROOT);

Is it planned to determine os.arch with the same enum in the future (keeping the legacy names)?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13357#discussion_r1158982643
PR Review Comment: https://git.openjdk.org/jdk/pull/13357#discussion_r1158988981
PR Review Comment: https://git.openjdk.org/jdk/pull/13357#discussion_r1158993835


More information about the serviceability-dev mailing list