Mercurial > hg > truffle
diff src/share/vm/runtime/sweeper.hpp @ 1538:bfe29ec02863
6950075: nmethod sweeper should operate concurrently
Reviewed-by: never, kvn
Contributed-by: eric.caspole@amd.com
author | never |
---|---|
date | Mon, 17 May 2010 16:50:07 -0700 |
parents | 5f24d0319e54 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/share/vm/runtime/sweeper.hpp Mon May 17 11:32:56 2010 -0700 +++ b/src/share/vm/runtime/sweeper.hpp Mon May 17 16:50:07 2010 -0700 @@ -35,6 +35,8 @@ static bool _rescan; // Indicates that we should do a full rescan of the // of the code cache looking for work to do. + static bool _do_sweep; // Flag to skip the conc sweep if no stack scan happened + static jint _sweep_started; // Flag to control conc sweeper static int _locked_seen; // Number of locked nmethods encountered during the scan static int _not_entrant_seen_on_stack; // Number of not entrant nmethod were are still on stack @@ -48,7 +50,9 @@ public: static long traversal_count() { return _traversals; } - static void sweep(); // Invoked at the end of each safepoint + static void scan_stacks(); // Invoked at the end of each safepoint + static void sweep_code_cache(); // Concurrent part of sweep job + static void possibly_sweep(); // Compiler threads call this to sweep static void notify(nmethod* nm) { // Perform a full scan of the code cache from the beginning. No