src/share/vm/runtime/sweeper.hpp

changeset 1637
5f24d0319e54
parent 435
a61af66fc99e
child 1893
bfe29ec02863
     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  };

mercurial