comparison src/share/vm/gc_implementation/shared/markSweep.inline.hpp @ 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 a08c80e9e1e5
children de6a9e811145
comparison
equal deleted inserted replaced
13397:e51d73189692 13417:55a0da3d420b
40 obj->set_mark(markOopDesc::prototype()->set_marked()); 40 obj->set_mark(markOopDesc::prototype()->set_marked());
41 41
42 if (mark->must_be_preserved(obj)) { 42 if (mark->must_be_preserved(obj)) {
43 preserve_mark(obj, mark); 43 preserve_mark(obj, mark);
44 } 44 }
45 }
46
47 inline void MarkSweep::follow_klass(Klass* klass) {
48 oop op = klass->klass_holder();
49 MarkSweep::mark_and_push(&op);
45 } 50 }
46 51
47 template <class T> inline void MarkSweep::follow_root(T* p) { 52 template <class T> inline void MarkSweep::follow_root(T* p) {
48 assert(!Universe::heap()->is_in_reserved(p), 53 assert(!Universe::heap()->is_in_reserved(p),
49 "roots shouldn't be things within the heap"); 54 "roots shouldn't be things within the heap");