--- old/src/share/vm/gc/g1/g1RootProcessor.cpp 2016-09-12 10:38:20.222849665 +0200 +++ new/src/share/vm/gc/g1/g1RootProcessor.cpp 2016-09-12 10:38:20.106845079 +0200 @@ -192,30 +192,32 @@ void G1RootProcessor::process_all_roots(OopClosure* oops, CLDClosure* clds, - CodeBlobClosure* blobs) { + CodeBlobClosure* blobs, + bool process_string_table) { AllRootsClosures closures(oops, clds); process_java_roots(&closures, NULL, 0); process_vm_roots(&closures, NULL, 0); - process_string_table_roots(&closures, NULL, 0); + if (process_string_table) { + process_string_table_roots(&closures, NULL, 0); + } process_code_cache_roots(blobs, NULL, 0); _process_strong_tasks.all_tasks_completed(n_workers()); } +void G1RootProcessor::process_all_roots(OopClosure* oops, + CLDClosure* clds, + CodeBlobClosure* blobs) { + process_all_roots(oops, clds, blobs, true); +} + void G1RootProcessor::process_all_roots_no_string_table(OopClosure* oops, CLDClosure* clds, CodeBlobClosure* blobs) { assert(!ClassUnloading, "Should only be used when class unloading is disabled"); - AllRootsClosures closures(oops, clds); - - process_java_roots(&closures, NULL, 0); - process_vm_roots(&closures, NULL, 0); - - process_code_cache_roots(blobs, NULL, 0); - - _process_strong_tasks.all_tasks_completed(n_workers()); + process_all_roots(oops, clds, blobs, false); } void G1RootProcessor::process_java_roots(G1RootClosures* closures,