Mercurial > hg > truffle
diff src/share/vm/memory/genCollectedHeap.hpp @ 989:148e5441d916
6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
author | jrose |
---|---|
date | Tue, 15 Sep 2009 21:53:47 -0700 |
parents | df6caf649ff7 |
children | 39b01ab7035a |
line wrap: on
line diff
--- a/src/share/vm/memory/genCollectedHeap.hpp Tue Sep 15 11:09:34 2009 -0700 +++ b/src/share/vm/memory/genCollectedHeap.hpp Tue Sep 15 21:53:47 2009 -0700 @@ -408,16 +408,22 @@ // "SO_SystemClasses" to all the "system" classes and loaders; // "SO_Symbols_and_Strings" applies the closure to all entries in // SymbolsTable and StringTable. - void gen_process_strong_roots(int level, bool younger_gens_as_roots, + void gen_process_strong_roots(int level, + bool younger_gens_as_roots, + // The remaining arguments are in an order + // consistent with SharedHeap::process_strong_roots: + bool activate_scope, bool collecting_perm_gen, SharedHeap::ScanningOption so, - OopsInGenClosure* older_gens, - OopsInGenClosure* not_older_gens); + OopsInGenClosure* not_older_gens, + bool do_code_roots, + OopsInGenClosure* older_gens); // Apply "blk" to all the weak roots of the system. These include // JNI weak roots, the code cache, system dictionary, symbol table, // string table, and referents of reachable weak refs. void gen_process_weak_roots(OopClosure* root_closure, + CodeBlobClosure* code_roots, OopClosure* non_root_closure); // Set the saved marks of generations, if that makes sense.