Lines Matching refs:closures

74 void G1RootProcessor::evacuate_roots(G1EvacuationRootClosures* closures, uint worker_i) {
78 process_java_roots(closures, phase_times, worker_i);
82 if (closures->trace_metadata()) {
86 process_vm_roots(closures, phase_times, worker_i);
87 process_string_table_roots(closures, phase_times, worker_i);
97 _g1h->ref_processor_cm()->weak_oops_do(closures->strong_oops());
101 if (closures->trace_metadata()) {
111 assert(closures->second_pass_weak_clds() != NULL, "Should be non-null if we are tracing metadata.");
112 ClassLoaderDataGraph::roots_cld_do(NULL, closures->second_pass_weak_clds());
116 assert(closures->second_pass_weak_clds() == NULL, "Should be null if not tracing metadata.");
120 closures->flush();
122 double obj_copy_time_sec = closures->closure_app_seconds();
143 // Adaptor to pass the closures to the strong roots in the VM.
164 StrongRootsClosures closures(oops, clds, blobs);
166 process_java_roots(&closures, NULL, 0);
167 process_vm_roots(&closures, NULL, 0);
172 // Adaptor to pass the closures to all the roots in the VM.
198 AllRootsClosures closures(oops, clds);
200 process_java_roots(&closures, NULL, 0);
201 process_vm_roots(&closures, NULL, 0);
204 process_string_table_roots(&closures, NULL, 0);
224 void G1RootProcessor::process_java_roots(G1RootClosures* closures,
233 ClassLoaderDataGraph::roots_cld_do(closures->strong_clds(), closures->weak_clds());
241 closures->strong_oops(),
242 closures->strong_codeblobs());
246 void G1RootProcessor::process_vm_roots(G1RootClosures* closures,
249 OopClosure* strong_roots = closures->strong_oops();
250 OopClosure* weak_roots = closures->weak_oops();
311 void G1RootProcessor::process_string_table_roots(G1RootClosures* closures,
314 assert(closures->weak_oops() != NULL, "Should only be called when all roots are processed");
318 StringTable::possibly_parallel_oops_do(closures->weak_oops());