< prev index next >

src/share/vm/gc/g1/g1RootProcessor.hpp

Print this page
rev 11874 : 8114823: G1 doesn't honor request to disable class unloading
Reviewed-by:

*** 79,88 **** --- 79,96 ---- void process_vm_roots(G1RootClosures* closures, G1GCPhaseTimes* phase_times, uint worker_i); + void process_string_table_roots(G1RootClosures* closures, + G1GCPhaseTimes* phase_times, + uint worker_i); + + void process_code_cache_roots(CodeBlobClosure* code_closure, + G1GCPhaseTimes* phase_times, + uint worker_i); + public: G1RootProcessor(G1CollectedHeap* g1h, uint n_workers); // Apply closures to the strongly and weakly reachable roots in the system // in a single pass.
*** 97,106 **** --- 105,121 ---- // Apply oops, clds and blobs to strongly and weakly reachable roots in the system void process_all_roots(OopClosure* oops, CLDClosure* clds, CodeBlobClosure* blobs); + // Apply oops, clds and blobs to strongly and weakly reachable roots in the system, + // the only thing different from process_all_roots is that we skip the string table + // to avoid keeping every string live when doing class unloading. + void process_all_roots_no_string_table(OopClosure* oops, + CLDClosure* clds, + CodeBlobClosure* blobs); + // Number of worker threads used by the root processor. uint n_workers() const; }; #endif // SHARE_VM_GC_G1_G1ROOTPROCESSOR_HPP
< prev index next >