This PR has fixes from @xmas92 for two bugs: - https://bugs.openjdk.org/browse/JDK-8392964: JVMTI value-object tag equality ignores inherited fields - https://bugs.openjdk.org/browse/JDK-8386824: JVMTI equal_fields compares value object floats mishandling NaNs
The fix accounts for inherited fields for JVMTI value-object tag equality. Also, it is using bit comparison for fields of `float` and `double` types. This updates provides an additional test coverage with new JVMTI test: - `test/hotspot/jtreg/serviceability/jvmti/valhalla/SetTag/ValueTagSubstitutabilityTest.java` Testing: - Checked that new test `ValueTagSubstitutabilityTest.java` is failing without this fix - Checked that new test `ValueTagSubstitutabilityTest.java` is not failing with the fix - TBD: Run mach5 tiers 1-6 --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - 8389237: JVMTI value-object tag equality ignores inherited fields Changes: https://git.openjdk.org/jdk/pull/33046/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33046&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8392964 Stats: 220 lines in 3 files changed: 215 ins; 0 del; 5 mod Patch: https://git.openjdk.org/jdk/pull/33046.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/33046/head:pull/33046 PR: https://git.openjdk.org/jdk/pull/33046
