hotspot/src/share/vm/runtime/sweeper.hpp
changeset 4750 71fd601907dc
parent 1 489c9b5090e2
child 5533 e8d9ff82ec62
equal deleted inserted replaced
4749:f26b30116e3a 4750:71fd601907dc
    36   static bool      _rescan;          // Indicates that we should do a full rescan of the
    36   static bool      _rescan;          // Indicates that we should do a full rescan of the
    37                                      // of the code cache looking for work to do.
    37                                      // of the code cache looking for work to do.
    38   static int       _locked_seen;     // Number of locked nmethods encountered during the scan
    38   static int       _locked_seen;     // Number of locked nmethods encountered during the scan
    39   static int       _not_entrant_seen_on_stack; // Number of not entrant nmethod were are still on stack
    39   static int       _not_entrant_seen_on_stack; // Number of not entrant nmethod were are still on stack
    40 
    40 
       
    41   static bool      _was_full;        // remember if we did emergency unloading
       
    42   static jint      _advise_to_sweep; // flag to indicate code cache getting full
       
    43   static jlong     _last_was_full;   // timestamp of last emergency unloading
       
    44   static uint      _highest_marked;   // highest compile id dumped at last emergency unloading
       
    45   static long      _was_full_traversal;   // trav number at last emergency unloading
    41 
    46 
    42   static void process_nmethod(nmethod *nm);
    47   static void process_nmethod(nmethod *nm);
    43  public:
    48  public:
    44   static long traversal_count() { return _traversals; }
    49   static long traversal_count() { return _traversals; }
    45 
    50 
    49     // Perform a full scan of the code cache from the beginning.  No
    54     // Perform a full scan of the code cache from the beginning.  No
    50     // need to synchronize the setting of this flag since it only
    55     // need to synchronize the setting of this flag since it only
    51     // changes to false at safepoint so we can never overwrite it with false.
    56     // changes to false at safepoint so we can never overwrite it with false.
    52      _rescan = true;
    57      _rescan = true;
    53   }
    58   }
       
    59 
       
    60   static void handle_full_code_cache(bool is_full); // Called by compilers who fail to allocate
       
    61   static void speculative_disconnect_nmethods(bool was_full);   // Called by vm op to deal with alloc failure
       
    62 
       
    63   static void set_was_full(bool state) { _was_full = state; }
       
    64   static bool was_full() { return _was_full; }
    54 };
    65 };