Redo change (8371732) that failed when the updated class objects were incompatible. The fields of classes are changed to allow a more compact form of storage.
To ensure compatibility of the class objects, the fields are explicitly declared in SerialPersistentFields with the original field types. The fields are marked `transient` to indicate the field declarations are not used for serialization. The affected classes are java.time.LocalDate, MonthDay, and YearMonth. Tests are added to verify the types and names of serialized fields of each class. HijrahDate only changes the field types, the fields are transient and there is no change to the serialized from of the HijrahDate.class object. ------------- Commit messages: - Change some java.time fields from int or short to byte to save on heap size. Changes: https://git.openjdk.org/jdk/pull/28274/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28274&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8371732 Stats: 124 lines in 7 files changed: 100 ins; 0 del; 24 mod Patch: https://git.openjdk.org/jdk/pull/28274.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/28274/head:pull/28274 PR: https://git.openjdk.org/jdk/pull/28274
