On Wed, 31 Jan 2024 21:28:34 GMT, Alex Menkov <amen...@openjdk.org> wrote:

> 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).

src/hotspot/share/prims/jvmtiTagMap.cpp line 453:

> 451:   InstanceKlass* super_klass = ik->java_super();
> 452:   if (super_klass != nullptr) {
> 453:     start_index += add_instance_fields(super_klass, start_index);

Does hotspot have any rules against potentially very deep recursion that can 
overflow the stack?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17661#discussion_r1473607788

Reply via email to