Re: [jdk23] RFR: 8326820: Metadata artificially kept alive

2024-07-01 Thread Axel Boldt-Christmas
On Thu, 27 Jun 2024 14:30:43 GMT, Axel Boldt-Christmas wrote: > Hi all, > > This pull request contains a backport of commit > [5909d541](https://github.com/openjdk/jdk/commit/5909d54147355dd7da5786ff39ead4c15816705c) > from the [openjdk/jdk](https://git.openjdk.org/jdk) repository. > > The c

Re: [jdk23] RFR: 8326820: Metadata artificially kept alive

2024-06-27 Thread Stefan Karlsson
On Thu, 27 Jun 2024 14:30:43 GMT, Axel Boldt-Christmas wrote: > Hi all, > > This pull request contains a backport of commit > [5909d541](https://github.com/openjdk/jdk/commit/5909d54147355dd7da5786ff39ead4c15816705c) > from the [openjdk/jdk](https://git.openjdk.org/jdk) repository. > > The c

[jdk23] RFR: 8326820: Metadata artificially kept alive

2024-06-27 Thread Axel Boldt-Christmas
Hi all, This pull request contains a backport of commit [5909d541](https://github.com/openjdk/jdk/commit/5909d54147355dd7da5786ff39ead4c15816705c) from the [openjdk/jdk](https://git.openjdk.org/jdk) repository. The commit being backported was authored by Axel Boldt-Christmas on 27 Jun 2024 and

Re: RFR: 8326820: Metadata artificially kept alive [v5]

2024-06-27 Thread Axel Boldt-Christmas
On Thu, 27 Jun 2024 13:38:22 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v5]

2024-06-27 Thread Axel Boldt-Christmas
> ClassLoaderDataGraph provides APIs for walking different metadata. All the > iterators which are not designed to be used by the GC also keep the holder of > the CLDs alive and by extensions keeps all metadata alive. This is > problematic for concurrent GC as it keeps otherwise unreachable clas

Re: RFR: 8326820: Metadata artificially kept alive [v4]

2024-06-27 Thread Coleen Phillimore
On Thu, 27 Jun 2024 12:58:44 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v4]

2024-06-27 Thread Axel Boldt-Christmas
> ClassLoaderDataGraph provides APIs for walking different metadata. All the > iterators which are not designed to be used by the GC also keep the holder of > the CLDs alive and by extensions keeps all metadata alive. This is > problematic for concurrent GC as it keeps otherwise unreachable clas

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-24 Thread Stefan Karlsson
On Sat, 22 Jun 2024 00:18:43 GMT, Coleen Phillimore wrote: > The 'resolve' for the CLDG iterator was to temporarily keep that CLD from > being unloaded, in the short time that we're iterating on that particular CLD. This is the crux of the problem. For concurrent GCs, if the 'resolve' is calle

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-21 Thread Coleen Phillimore
On Wed, 19 Jun 2024 15:06:25 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-20 Thread Stefan Karlsson
On Thu, 20 Jun 2024 16:30:30 GMT, Coleen Phillimore wrote: > If the default is to not keep the CLD alive, I don't like that we need the > details of the side effect in the name. Just call it classes_do, etc. I don't > care about no-keepalive in all these callers, if that's the right answer for

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-20 Thread Coleen Phillimore
On Wed, 19 Jun 2024 15:06:25 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-19 Thread Stefan Karlsson
On Wed, 19 Jun 2024 15:06:25 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-19 Thread Axel Boldt-Christmas
> ClassLoaderDataGraph provides APIs for walking different metadata. All the > iterators which are not designed to be used by the GC also keep the holder of > the CLDs alive and by extensions keeps all metadata alive. This is > problematic for concurrent GC as it keeps otherwise unreachable clas

Re: RFR: 8326820: Metadata artificially kept alive [v2]

2024-06-19 Thread Axel Boldt-Christmas
On Wed, 19 Jun 2024 08:53:33 GMT, Stefan Karlsson wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Document the iterator and functions > > src/hotspot/share/classfile/systemDictionary.cpp line 1588: > >> 15

Re: RFR: 8326820: Metadata artificially kept alive [v2]

2024-06-19 Thread Stefan Karlsson
On Wed, 19 Jun 2024 06:14:21 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v2]

2024-06-19 Thread Erik Österlund
On Wed, 19 Jun 2024 06:14:21 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >>

Re: RFR: 8326820: Metadata artificially kept alive [v2]

2024-06-18 Thread Axel Boldt-Christmas
> ClassLoaderDataGraph provides APIs for walking different metadata. All the > iterators which are not designed to be used by the GC also keep the holder of > the CLDs alive and by extensions keeps all metadata alive. This is > problematic for concurrent GC as it keeps otherwise unreachable clas

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 13:33:55 GMT, Erik Österlund wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >> proble

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 13:41:05 GMT, Erik Österlund wrote: >> src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp line 108: >> >>> 106: // and collect them using the LoadedClassesClosure >>> 107: MutexLocker mcld(ClassLoaderDataGraph_lock); >>> 108: ClassLoaderDataGraph::loaded_classes_do

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 13:42:24 GMT, Erik Österlund wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >> proble

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Erik Österlund
On Tue, 18 Jun 2024 13:33:59 GMT, Erik Österlund wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >> proble

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Erik Österlund
On Tue, 18 Jun 2024 12:25:36 GMT, Axel Boldt-Christmas wrote: > ClassLoaderDataGraph provides APIs for walking different metadata. All the > iterators which are not designed to be used by the GC also keep the holder of > the CLDs alive and by extensions keeps all metadata alive. This is > pro

RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
ClassLoaderDataGraph provides APIs for walking different metadata. All the iterators which are not designed to be used by the GC also keep the holder of the CLDs alive and by extensions keeps all metadata alive. This is problematic for concurrent GC as it keeps otherwise unreachable classes from