The CLDClosure was created to walk the Method's ClassLoaderData in the interpreter frame so that the Method metadata is not reclaimed if no other references to the Method's class loader are alive. The design for permgen elimination was that the class holder (class_loader or mirror) oop is stored with any metadata references so that the GC can simply follow oops in the normal way and not follow metadata. This was an exception to the design.
This is the alternate fix to bug
- relates to
-
JDK-8163143 illegal bci error with interpreted frames in SA due to mirror being stored in interpreted frames
-
- Resolved
-
-
JDK-8303153 Native interpreter frame missing mirror
-
- Resolved
-
-
JDK-8003720 NPG: Method in interpreter stack frame can be deallocated
-
- Closed
-