comparison 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
comparison
equal deleted inserted replaced
987:00977607da34 989:148e5441d916
406 // "SO_None" does none; 406 // "SO_None" does none;
407 // "SO_AllClasses" applies the closure to all entries in the SystemDictionary; 407 // "SO_AllClasses" applies the closure to all entries in the SystemDictionary;
408 // "SO_SystemClasses" to all the "system" classes and loaders; 408 // "SO_SystemClasses" to all the "system" classes and loaders;
409 // "SO_Symbols_and_Strings" applies the closure to all entries in 409 // "SO_Symbols_and_Strings" applies the closure to all entries in
410 // SymbolsTable and StringTable. 410 // SymbolsTable and StringTable.
411 void gen_process_strong_roots(int level, bool younger_gens_as_roots, 411 void gen_process_strong_roots(int level,
412 bool younger_gens_as_roots,
413 // The remaining arguments are in an order
414 // consistent with SharedHeap::process_strong_roots:
415 bool activate_scope,
412 bool collecting_perm_gen, 416 bool collecting_perm_gen,
413 SharedHeap::ScanningOption so, 417 SharedHeap::ScanningOption so,
414 OopsInGenClosure* older_gens, 418 OopsInGenClosure* not_older_gens,
415 OopsInGenClosure* not_older_gens); 419 bool do_code_roots,
420 OopsInGenClosure* older_gens);
416 421
417 // Apply "blk" to all the weak roots of the system. These include 422 // Apply "blk" to all the weak roots of the system. These include
418 // JNI weak roots, the code cache, system dictionary, symbol table, 423 // JNI weak roots, the code cache, system dictionary, symbol table,
419 // string table, and referents of reachable weak refs. 424 // string table, and referents of reachable weak refs.
420 void gen_process_weak_roots(OopClosure* root_closure, 425 void gen_process_weak_roots(OopClosure* root_closure,
426 CodeBlobClosure* code_roots,
421 OopClosure* non_root_closure); 427 OopClosure* non_root_closure);
422 428
423 // Set the saved marks of generations, if that makes sense. 429 // Set the saved marks of generations, if that makes sense.
424 // In particular, if any generation might iterate over the oops 430 // In particular, if any generation might iterate over the oops
425 // in other generations, it should call this method. 431 // in other generations, it should call this method.