On Wed, 5 Apr 2023 19:20:08 GMT, Roger Riggs <rri...@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