diff src/share/vm/memory/iterator.cpp @ 7179:d0aa87f04bd5

8003720: NPG: Method in interpreter stack frame can be deallocated Summary: Pass down a closure during root scanning to keep the class of the method alive. Reviewed-by: coleenp, jcoomes
author stefank
date Tue, 27 Nov 2012 10:13:20 +0100
parents ec98e58952b2
children 5888334c9c24
line wrap: on
line diff
--- a/src/share/vm/memory/iterator.cpp	Mon Nov 26 12:31:03 2012 -0500
+++ b/src/share/vm/memory/iterator.cpp	Tue Nov 27 10:13:20 2012 +0100
@@ -30,6 +30,10 @@
   k->oops_do(_oop_closure);
 }
 
+void CLDToOopClosure::do_cld(ClassLoaderData* cld) {
+  cld->oops_do(_oop_closure, &_klass_closure, _must_claim_cld);
+}
+
 void ObjectToOopClosure::do_object(oop obj) {
   obj->oop_iterate(_cl);
 }