Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 11177:d0aeaf72c7bd
Merge.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 05 Aug 2013 11:25:14 +0200 |
parents | 6b0fd0964b87 d85bdcb38fa2 |
children | cefad50507d8 |
comparison
equal
deleted
inserted
replaced
11176:0630959b64e8 | 11177:d0aeaf72c7bd |
---|---|
5117 | 5117 |
5118 BufferingOopClosure buf_scan_non_heap_roots(scan_non_heap_roots); | 5118 BufferingOopClosure buf_scan_non_heap_roots(scan_non_heap_roots); |
5119 | 5119 |
5120 // Walk the code cache w/o buffering, because StarTask cannot handle | 5120 // Walk the code cache w/o buffering, because StarTask cannot handle |
5121 // unaligned oop locations. | 5121 // unaligned oop locations. |
5122 G1FilteredCodeBlobToOopClosure eager_scan_code_roots(this, scan_non_heap_roots); | 5122 G1FilteredCodeBlobToOopClosure eager_scan_cs_code_roots(this, scan_non_heap_roots); |
5123 | |
5124 // Scan all code roots from stack | |
5125 CodeBlobToOopClosure eager_scan_all_code_roots(scan_non_heap_roots, true); | |
5126 CodeBlobToOopClosure* blobs = &eager_scan_cs_code_roots; | |
5127 if (UseNewCode && g1_policy()->during_initial_mark_pause()) { | |
5128 // during initial-mark we need to take care to follow all code roots | |
5129 blobs = &eager_scan_all_code_roots; | |
5130 } | |
5123 | 5131 |
5124 process_strong_roots(false, // no scoping; this is parallel code | 5132 process_strong_roots(false, // no scoping; this is parallel code |
5125 is_scavenging, so, | 5133 is_scavenging, so, |
5126 &buf_scan_non_heap_roots, | 5134 &buf_scan_non_heap_roots, |
5127 &eager_scan_code_roots, | 5135 blobs, |
5128 scan_klasses | 5136 scan_klasses |
5129 ); | 5137 ); |
5130 | 5138 |
5131 // Now the CM ref_processor roots. | 5139 // Now the CM ref_processor roots. |
5132 if (!_process_strong_tasks->is_task_claimed(G1H_PS_refProcessor_oops_do)) { | 5140 if (!_process_strong_tasks->is_task_claimed(G1H_PS_refProcessor_oops_do)) { |