RFR: JDK-8318566: Heap walking functions should not use FilteredFieldStream
Alex Menkov
amenkov at openjdk.org
Wed Jan 31 21:34:11 UTC 2024
FilteredFieldStream used by heap walking functions to iterate through klass/superclasses/interfaces fields are known to have poor performance (see [JDK-8317692](https://bugs.openjdk.org/browse/JDK-8317692) for details).
Heap walking API implementation is the last user of the klasses.
The fix reworks iteration through klass/superclasses/interfaces fields and drops FilteredFieldStream-related code.
Additionally removed/updated includes of reflectionUtils.hpp.
Testing:
- tier1..4;
- test/hotspot/jtreg/vmTestbase/nsk/jvmti (contains tests for different heap walking functions);
- new test from #17580 (now the test runs several times faster).
-------------
Commit messages:
- fix
Changes: https://git.openjdk.org/jdk/pull/17661/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17661&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8318566
Stats: 290 lines in 10 files changed: 41 ins; 230 del; 19 mod
Patch: https://git.openjdk.org/jdk/pull/17661.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17661/head:pull/17661
PR: https://git.openjdk.org/jdk/pull/17661
More information about the serviceability-dev
mailing list