mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
7039089: G1: changeset for 7037276 broke heap verification, and related cleanups
In G1 heap verification, we no longer scan perm to G1-collected heap refs as part of process_strong_roots() but rather in a separate explicit oop iteration over the perm gen. This preserves the original perm card-marks. Added a new assertion in younger_refs_iterate() to catch a simple subcase where the user may have forgotten a prior save_marks() call, as happened in the case of G1's attempt to iterate perm to G1 refs when verifying the heap before exit. The assert was deliberately weakened for ParNew+CMS and will be fixed for that combination in a future CR. Also made some (non-G1) cleanups related to code and comments obsoleted by the migration of Symbols to the native heap. Reviewed-by: iveresov, jmasa, tonyp
This commit is contained in:
parent
e3121a5a43
commit
d86311b13c
8 changed files with 69 additions and 28 deletions
|
@ -427,13 +427,13 @@ public:
|
|||
// explicitly mark reachable objects in younger generations, to avoid
|
||||
// excess storage retention.) If "collecting_perm_gen" is false, then
|
||||
// roots that may only contain references to permGen objects are not
|
||||
// scanned. The "so" argument determines which of the roots
|
||||
// scanned; instead, the older_gens closure is applied to all outgoing
|
||||
// references in the perm gen. The "so" argument determines which of the roots
|
||||
// the closure is applied to:
|
||||
// "SO_None" does none;
|
||||
// "SO_AllClasses" applies the closure to all entries in the SystemDictionary;
|
||||
// "SO_SystemClasses" to all the "system" classes and loaders;
|
||||
// "SO_Symbols_and_Strings" applies the closure to all entries in
|
||||
// SymbolsTable and StringTable.
|
||||
// "SO_Strings" applies the closure to all entries in the StringTable.
|
||||
void gen_process_strong_roots(int level,
|
||||
bool younger_gens_as_roots,
|
||||
// The remaining arguments are in an order
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue