Mercurial > hg > truffle
diff src/share/vm/gc_implementation/shared/markSweep.cpp @ 13417:55a0da3d420b
8027675: Full collections with Serial slower in JDK 8 compared to 7u40
Summary: Reduced the number of calls to follow_class_loader and instead marked and pushed the klass holder directly. Also removed unneeded calls to adjust_klass.
Reviewed-by: coleenp, jmasa, mgerdin, tschatzl
author | sjohanss |
---|---|
date | Tue, 26 Nov 2013 14:35:38 +0100 |
parents | f2110083203d |
children | d166675568f6 78bbf4d43a14 |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/shared/markSweep.cpp Fri Nov 22 13:42:46 2013 -0800 +++ b/src/share/vm/gc_implementation/shared/markSweep.cpp Tue Nov 26 14:35:38 2013 +0100 @@ -66,29 +66,10 @@ klass->oops_do(&MarkSweep::adjust_pointer_closure); } -void MarkSweep::follow_klass(Klass* klass) { - ClassLoaderData* cld = klass->class_loader_data(); - // The actual processing of the klass is done when we - // traverse the list of Klasses in the class loader data. - MarkSweep::follow_class_loader(cld); -} - -void MarkSweep::adjust_klass(Klass* klass) { - ClassLoaderData* cld = klass->class_loader_data(); - // The actual processing of the klass is done when we - // traverse the list of Klasses in the class loader data. - MarkSweep::adjust_class_loader(cld); -} - void MarkSweep::follow_class_loader(ClassLoaderData* cld) { cld->oops_do(&MarkSweep::mark_and_push_closure, &MarkSweep::follow_klass_closure, true); } -void MarkSweep::adjust_class_loader(ClassLoaderData* cld) { - cld->oops_do(&MarkSweep::adjust_pointer_closure, &MarkSweep::adjust_klass_closure, true); -} - - void MarkSweep::follow_stack() { do { while (!_marking_stack.is_empty()) {