[aarch64-port-dev ] Update enum Family CPU_Xxx for aarch64 from ISO8859-1 (ASCII) representation to HEX

Patrick Zhang OS patrick at os.amperecomputing.com
Thu Apr 18 09:52:57 UTC 2019


Here is a quick question about a change upon the "enum Family" defined in hotspot/cpu/aarch64/vm_version_aarch64.hpp.

I want to add CPU_AMPERE (0xC0) into the enum; however it is not an "ASCII printable character" like others, instead it belongs to the list of "The extended ASCII codes"[2]. A simple patch [3] adding 'À' simply would cause many "multichar" warnings when making, while using HEX directly [4] for this item only will bring an 'inconsistency' into of the overall definition of this enum, the last choice is to use Hex representation for all [5]. It can be safe and better for future new IDs if any; however I know it looks bringing a potential impact to all aarch64 'buddies'.

Thanks for any advice.

I don't want to add below option in makefiles to suppress warnings as it might be helpful to detect real typos in future.
Do not warn if a multicharacter constant (''FOOF'') is used. Usually they indicate a typo in the user's code, as they have implementation-defined values, and should not be used in portable code.

[1] https://static.docs.arm.com/ddi0487/da/DDI0487D_a_armv8_arm.pdf, page 5945.
[2] https://www.ascii-code.com/
[3] http://cr.openjdk.java.net/~qpzhang/cpu_ampere/patch01.diff, use 'À'
[4] http://cr.openjdk.java.net/~qpzhang/cpu_ampere/patch02.diff, use 0xC0
[5] http://cr.openjdk.java.net/~qpzhang/cpu_ampere/patch03.diff, use Hex representation for all


Hex representation ISO8859-1 representation Implementer
0x0 NUL Reserved for software use
0xc0 À Ampere Computing
0x41 A ARM Limited
0x42 B Broadcom Corporation
0x43 C Cavium Inc.
0x44 D Digital Equipment Corporation
0x49 I Infineon Technologies AG
0x4D M Motorola or Freescale Semiconductor Inc.
0x4E N NVIDIA Corporation
0x50 P Applied Micro Circuits Corporation
0x51 Q Qualcomm Inc.
0x56 V Marvell International Ltd.
0x69 i Intel Corporation


More information about the aarch64-port-dev mailing list