8154580: Save mirror in interpreter frame to enable cleanups of CLDClosure

GC walks the mirror using OopClosure rather than using CLDClosure in oops_interpreted_do()

Reviewed-by: dlong, twisti, stefank
This commit is contained in:
Coleen Phillimore 2016-04-25 09:51:00 -04:00
parent 9ca6318ece
commit de88e58a82
51 changed files with 202 additions and 166 deletions

View file

@ -2148,8 +2148,7 @@ void PSParallelCompact::adjust_roots(ParCompactionManager* cm) {
// General strong roots.
Universe::oops_do(&oop_closure);
JNIHandles::oops_do(&oop_closure); // Global (strong) JNI handles
CLDToOopClosure adjust_from_cld(&oop_closure);
Threads::oops_do(&oop_closure, &adjust_from_cld, NULL);
Threads::oops_do(&oop_closure, NULL);
ObjectSynchronizer::oops_do(&oop_closure);
FlatProfiler::oops_do(&oop_closure);
Management::oops_do(&oop_closure);