1657 // in the collection set to regions in to-space. In the event
1658 // of an evacuation failure, nmethods that reference objects
1659 // that were not successfully evacuated are not migrated.
1660 void migrate_strong_code_roots();
1661
1662 // Free up superfluous code root memory.
1663 void purge_code_root_memory();
1664
1665 // During an initial mark pause, mark all the code roots that
1666 // point into regions *not* in the collection set.
1667 void mark_strong_code_roots(uint worker_id);
1668
1669 // Rebuild the strong code root lists for each region
1670 // after a full GC.
1671 void rebuild_strong_code_roots();
1672
1673 // Delete entries for dead interned string and clean up unreferenced symbols
1674 // in symbol table, possibly in parallel.
1675 void unlink_string_and_symbol_table(BoolObjectClosure* is_alive, bool unlink_strings = true, bool unlink_symbols = true);
1676
1677 // Verification
1678
1679 // The following is just to alert the verification code
1680 // that a full collection has occurred and that the
1681 // remembered sets are no longer up to date.
1682 bool _full_collection;
1683 void set_full_collection() { _full_collection = true;}
1684 void clear_full_collection() {_full_collection = false;}
1685 bool full_collection() {return _full_collection;}
1686
1687 // Perform any cleanup actions necessary before allowing a verification.
1688 virtual void prepare_for_verify();
1689
1690 // Perform verification.
1691
1692 // vo == UsePrevMarking -> use "prev" marking information,
1693 // vo == UseNextMarking -> use "next" marking information
1694 // vo == UseMarkWord -> use the mark word in the object header
1695 //
1696 // NOTE: Only the "prev" marking information is guaranteed to be
|
1657 // in the collection set to regions in to-space. In the event
1658 // of an evacuation failure, nmethods that reference objects
1659 // that were not successfully evacuated are not migrated.
1660 void migrate_strong_code_roots();
1661
1662 // Free up superfluous code root memory.
1663 void purge_code_root_memory();
1664
1665 // During an initial mark pause, mark all the code roots that
1666 // point into regions *not* in the collection set.
1667 void mark_strong_code_roots(uint worker_id);
1668
1669 // Rebuild the strong code root lists for each region
1670 // after a full GC.
1671 void rebuild_strong_code_roots();
1672
1673 // Delete entries for dead interned string and clean up unreferenced symbols
1674 // in symbol table, possibly in parallel.
1675 void unlink_string_and_symbol_table(BoolObjectClosure* is_alive, bool unlink_strings = true, bool unlink_symbols = true);
1676
1677 // Redirty logged cards in the refinement queue.
1678 void redirty_logged_cards();
1679 // Verification
1680
1681 // The following is just to alert the verification code
1682 // that a full collection has occurred and that the
1683 // remembered sets are no longer up to date.
1684 bool _full_collection;
1685 void set_full_collection() { _full_collection = true;}
1686 void clear_full_collection() {_full_collection = false;}
1687 bool full_collection() {return _full_collection;}
1688
1689 // Perform any cleanup actions necessary before allowing a verification.
1690 virtual void prepare_for_verify();
1691
1692 // Perform verification.
1693
1694 // vo == UsePrevMarking -> use "prev" marking information,
1695 // vo == UseNextMarking -> use "next" marking information
1696 // vo == UseMarkWord -> use the mark word in the object header
1697 //
1698 // NOTE: Only the "prev" marking information is guaranteed to be
|