comparison src/share/vm/memory/iterator.cpp @ 12080:5888334c9c24

7145569: G1: optimize nmethods scanning Summary: Add a list of nmethods to the RSet for a region that contain references into the region. Skip scanning the code cache during root scanning and scan the nmethod lists during RSet scanning instead. Reviewed-by: tschatzl, brutisso, mgerdin, twisti, kvn
author johnc
date Thu, 15 Aug 2013 10:52:18 +0200
parents d0aa87f04bd5
children de6a9e811145
comparison
equal deleted inserted replaced
12033:bd902affe102 12080:5888334c9c24
62 NOT_PRODUCT(if (TraceScavenge) nm->print_on(tty, "oops_do, skipped on 2nd visit\n")); 62 NOT_PRODUCT(if (TraceScavenge) nm->print_on(tty, "oops_do, skipped on 2nd visit\n"));
63 } 63 }
64 } 64 }
65 65
66 void CodeBlobToOopClosure::do_newly_marked_nmethod(nmethod* nm) { 66 void CodeBlobToOopClosure::do_newly_marked_nmethod(nmethod* nm) {
67 nm->oops_do(_cl, /*do_strong_roots_only=*/ true); 67 nm->oops_do(_cl, /*allow_zombie=*/ false);
68 } 68 }
69 69
70 void CodeBlobToOopClosure::do_code_blob(CodeBlob* cb) { 70 void CodeBlobToOopClosure::do_code_blob(CodeBlob* cb) {
71 if (!_do_marking) { 71 if (!_do_marking) {
72 nmethod* nm = cb->as_nmethod_or_null(); 72 nmethod* nm = cb->as_nmethod_or_null();