RFR: 8308452: Extend internal Architecture enum with byte order and address size [v6]
Jaikiran Pai
jpai at openjdk.org
Mon Jun 26 11:05:12 UTC 2023
On Thu, 22 Jun 2023 19:24:37 GMT, Roger Riggs <rriggs at openjdk.org> wrote:
>> The internal enum jdk.internal.util.Architecture does not provide information about the big or little endianness or the address size (64 or 32 bits). The endian-ness and address size are intrinsic to the architecture.
>>
>> The values of the enum are extended to separately identify the big endian and little-endian uses of the ISA.
>> For example, `PPC64` and `PPC64LE` for the big and little-endian versions.
>> The enum values directly reflect the build-time artifacts and resulting executables.
>>
>> This information about an architecture will make the enum more useful especially to identify a target platform in a cross-platform use case. A method is added to map well known aliases for the platforms to the Architecture enum.
>
> Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:
>
> - Refactored test to make it easier to add new Architectures
> - Merge branch 'master' into 8308452-cross-platform-arch
> - Merge branch 'master' into 8308452-cross-platform-arch
> - Remove duplicate import
> - Don't map ppc64le to ppc64 when processing the PlatformProps.java.template
> - Merge branch 'master' into 8308452-cross-platform-arch
> - Correct handling of ppc64le/ppc64 using non-canonical architecture.
> Keep canonical architecture names for s390, amd/x86_64.
> - Merge branch 'master' into 8308452-cross-platform-arch
> - Merge branch 'master' into 8308452-cross-platform-arch
> - Review suggestions
> - ... and 2 more: https://git.openjdk.org/jdk/compare/72501cf7...2e04a1ca
The changes in this PR look OK to me. The introduction of instance method `byteOrder()` in the `Architecture` enum, as proposed in this PR, will help with the changes being proposed in https://github.com/openjdk/jdk/pull/11943. That way jlink won't have to have its own mapping of osname-architecture to endianness.
Once this PR is integrated, I'll update that other PR to use this new API and remove the endianness mappings being proposed in that PR.
-------------
Marked as reviewed by jpai (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14063#pullrequestreview-1498241091
More information about the core-libs-dev
mailing list