Mercurial > hg > graal-jvmci-8
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"); |