On Tue, 25 Jul 2023 05:36:15 GMT, David Holmes <dhol...@openjdk.org> wrote:
>> This patch adds NestHost and NestMembers attributes to the class dumped by >> SA. >> >> Testing: `test/hotspot/jtreg/serviceability/sa` and >> `test/jdk/sun/tools/jhsdb` >> Manual testing by dumping `j.l.String` and >> `j.l.String$CaseInsensitiveComparator` classes. >> `j.l.String` shows one entry in `NestMembers` attribute for >> `j.l.String$CaseInsensitiveComparator` and >> `j.l.String$CaseInsensitiveComparator` has `j.l.String` as its `NestHost`. > > We need to be sure this works as expected for top-level classes that have no > nest members, and deeply nested nest members, plus dynamically injected > hidden classes that are nest members. I'm unclear if this is intended to only > expose the same details as would be statically defined in the attribute in > the classfile? @dholmes-ora sorry for responding late. I got sidetracked by some other work. > We need to be sure this works as expected for top-level classes that have no > nest members, and deeply nested nest members, plus dynamically injected > hidden classes that are nest members. I am not sure I understand this concern. We are getting nest-host and nest-members from the InstanceKlass. As long as this information is recorded in InstanceKlass, it would work. Can you please elaborate your concern about the cases you feel may not work. > I'm unclear if this is intended to only expose the same details as would be > statically defined in the attribute in the classfile? It is to expose the details as the JVM sees, which may be different from what is statically defined in the classfile if agents are involved. ------------- PR Comment: https://git.openjdk.org/jdk/pull/15005#issuecomment-1653934767