1.1 --- a/src/share/vm/runtime/sweeper.hpp Fri Jan 29 08:33:24 2010 -0800 1.2 +++ b/src/share/vm/runtime/sweeper.hpp Fri Jan 29 09:27:22 2010 -0800 1.3 @@ -38,6 +38,11 @@ 1.4 static int _locked_seen; // Number of locked nmethods encountered during the scan 1.5 static int _not_entrant_seen_on_stack; // Number of not entrant nmethod were are still on stack 1.6 1.7 + static bool _was_full; // remember if we did emergency unloading 1.8 + static jint _advise_to_sweep; // flag to indicate code cache getting full 1.9 + static jlong _last_was_full; // timestamp of last emergency unloading 1.10 + static uint _highest_marked; // highest compile id dumped at last emergency unloading 1.11 + static long _was_full_traversal; // trav number at last emergency unloading 1.12 1.13 static void process_nmethod(nmethod *nm); 1.14 public: 1.15 @@ -51,4 +56,10 @@ 1.16 // changes to false at safepoint so we can never overwrite it with false. 1.17 _rescan = true; 1.18 } 1.19 + 1.20 + static void handle_full_code_cache(bool is_full); // Called by compilers who fail to allocate 1.21 + static void speculative_disconnect_nmethods(bool was_full); // Called by vm op to deal with alloc failure 1.22 + 1.23 + static void set_was_full(bool state) { _was_full = state; } 1.24 + static bool was_full() { return _was_full; } 1.25 };