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