< prev index next >

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

Print this page
rev 12506 : 8171238: Unify cleanup code used in G1 Remark and Full GC marking
Reviewed-by:
rev 12507 : [mq]: 8171238-rev-tsch


1386 
1387   // Refinement
1388 
1389   ConcurrentG1Refine* concurrent_g1_refine() const { return _cg1r; }
1390 
1391   // Optimized nmethod scanning support routines
1392 
1393   // Register the given nmethod with the G1 heap.
1394   virtual void register_nmethod(nmethod* nm);
1395 
1396   // Unregister the given nmethod from the G1 heap.
1397   virtual void unregister_nmethod(nmethod* nm);
1398 
1399   // Free up superfluous code root memory.
1400   void purge_code_root_memory();
1401 
1402   // Rebuild the strong code root lists for each region
1403   // after a full GC.
1404   void rebuild_strong_code_roots();
1405 
1406   // Delete entries for dead interned string and clean up unreferenced symbols
1407   // in symbol table, possibly in parallel.
1408   void unlink_string_and_symbol_table(BoolObjectClosure* is_alive, bool unlink_strings = true, bool unlink_symbols = true);



1409 
1410   // Parallel phase of unloading/cleaning after G1 concurrent mark.
1411   void parallel_cleaning(BoolObjectClosure* is_alive, bool process_strings, bool process_symbols, bool class_unloading_occurred);

1412 
1413   // Redirty logged cards in the refinement queue.
1414   void redirty_logged_cards();
1415   // Verification
1416 
1417   // Perform any cleanup actions necessary before allowing a verification.
1418   virtual void prepare_for_verify();
1419 
1420   // Perform verification.
1421 
1422   // vo == UsePrevMarking  -> use "prev" marking information,
1423   // vo == UseNextMarking -> use "next" marking information
1424   // vo == UseMarkWord    -> use the mark word in the object header
1425   //
1426   // NOTE: Only the "prev" marking information is guaranteed to be
1427   // consistent most of the time, so most calls to this should use
1428   // vo == UsePrevMarking.
1429   // Currently, there is only one case where this is called with
1430   // vo == UseNextMarking, which is to verify the "next" marking
1431   // information at the end of remark.




1386 
1387   // Refinement
1388 
1389   ConcurrentG1Refine* concurrent_g1_refine() const { return _cg1r; }
1390 
1391   // Optimized nmethod scanning support routines
1392 
1393   // Register the given nmethod with the G1 heap.
1394   virtual void register_nmethod(nmethod* nm);
1395 
1396   // Unregister the given nmethod from the G1 heap.
1397   virtual void unregister_nmethod(nmethod* nm);
1398 
1399   // Free up superfluous code root memory.
1400   void purge_code_root_memory();
1401 
1402   // Rebuild the strong code root lists for each region
1403   // after a full GC.
1404   void rebuild_strong_code_roots();
1405 
1406   // Partial cleaning used when class unloading is disabled.
1407   // Let the caller choose what structures to clean out:
1408   // - StringTable
1409   // - SymbolTable
1410   // - StringDeduplication structures
1411   void partial_cleaning(BoolObjectClosure* is_alive, bool unlink_strings, bool unlink_symbols, bool unlink_string_dedup);
1412 
1413   // Complete cleaning used when class unloading is enabled.
1414   // Cleans out all structures handled by partial_cleaning and also the CodeCache.
1415   void complete_cleaning(BoolObjectClosure* is_alive, bool class_unloading_occurred);
1416 
1417   // Redirty logged cards in the refinement queue.
1418   void redirty_logged_cards();
1419   // Verification
1420 
1421   // Perform any cleanup actions necessary before allowing a verification.
1422   virtual void prepare_for_verify();
1423 
1424   // Perform verification.
1425 
1426   // vo == UsePrevMarking  -> use "prev" marking information,
1427   // vo == UseNextMarking -> use "next" marking information
1428   // vo == UseMarkWord    -> use the mark word in the object header
1429   //
1430   // NOTE: Only the "prev" marking information is guaranteed to be
1431   // consistent most of the time, so most calls to this should use
1432   // vo == UsePrevMarking.
1433   // Currently, there is only one case where this is called with
1434   // vo == UseNextMarking, which is to verify the "next" marking
1435   // information at the end of remark.


< prev index next >