Fixes a rare NullPointerException in X500Principal.hashCode() and equals() on aarch64, where thisX500Name is null.
I made `thisX500Name` final. The field was non-final only because `readObject` sets it, and deserialization doesn't run a constructor. I used `Unsafe.putReference` in `readObject` for that, which is how the JDK handles this elsewhere: - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Make X500Principal.thisX500Name final to fix unsafe publication Changes: https://git.openjdk.org/jdk/pull/33253/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33253&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8393730 Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/33253.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/33253/head:pull/33253 PR: https://git.openjdk.org/jdk/pull/33253
