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

Reply via email to