src/share/vm/code/codeCache.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7025742 Sdiff src/share/vm/code

src/share/vm/code/codeCache.hpp

Print this page




 130                            bool unloading_occurred);
 131   static void oops_do(OopClosure* f) {
 132     CodeBlobToOopClosure oopc(f, /*do_marking=*/ false);
 133     blobs_do(&oopc);
 134   }
 135   static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN;
 136   static void scavenge_root_nmethods_do(CodeBlobClosure* f);
 137 
 138   static nmethod* scavenge_root_nmethods()          { return _scavenge_root_nmethods; }
 139   static void set_scavenge_root_nmethods(nmethod* nm) { _scavenge_root_nmethods = nm; }
 140   static void add_scavenge_root_nmethod(nmethod* nm);
 141   static void drop_scavenge_root_nmethod(nmethod* nm);
 142   static void prune_scavenge_root_nmethods();
 143 
 144   // Printing/debugging
 145   static void print()   PRODUCT_RETURN;          // prints summary
 146   static void print_internals();
 147   static void verify();                          // verifies the code cache
 148   static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
 149   static void print_bounds(outputStream* st);    // Prints a summary of the bounds of the code cache

 150 
 151   // The full limits of the codeCache
 152   static address  low_bound()                    { return (address) _heap->low_boundary(); }
 153   static address  high_bound()                   { return (address) _heap->high_boundary(); }
 154 
 155   // Profiling
 156   static address first_address();                // first address used for CodeBlobs
 157   static address last_address();                 // last  address used for CodeBlobs
 158   static size_t  capacity()                      { return _heap->capacity(); }
 159   static size_t  max_capacity()                  { return _heap->max_capacity(); }
 160   static size_t  unallocated_capacity()          { return _heap->unallocated_capacity(); }
 161   static size_t  largest_free_block()            { return _heap->largest_free_block(); }
 162   static bool    needs_flushing()                { return unallocated_capacity() < CodeCacheFlushingMinimumFreeSpace; }
 163 
 164   static bool needs_cache_clean()                { return _needs_cache_clean; }
 165   static void set_needs_cache_clean(bool v)      { _needs_cache_clean = v;    }
 166   static void clear_inline_caches();             // clear all inline caches
 167 
 168   static nmethod* find_and_remove_saved_code(methodOop m);
 169   static void remove_saved_code(nmethod* nm);
 170   static void speculatively_disconnect(nmethod* nm);
 171 
 172   // Deoptimization
 173   static int  mark_for_deoptimization(DepChange& changes);
 174 #ifdef HOTSWAP
 175   static int  mark_for_evol_deoptimization(instanceKlassHandle dependee);
 176 #endif // HOTSWAP
 177 
 178   static void mark_all_nmethods_for_deoptimization();
 179   static int  mark_for_deoptimization(methodOop dependee);
 180   static void make_marked_nmethods_zombies();
 181   static void make_marked_nmethods_not_entrant();
 182 


 130                            bool unloading_occurred);
 131   static void oops_do(OopClosure* f) {
 132     CodeBlobToOopClosure oopc(f, /*do_marking=*/ false);
 133     blobs_do(&oopc);
 134   }
 135   static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN;
 136   static void scavenge_root_nmethods_do(CodeBlobClosure* f);
 137 
 138   static nmethod* scavenge_root_nmethods()          { return _scavenge_root_nmethods; }
 139   static void set_scavenge_root_nmethods(nmethod* nm) { _scavenge_root_nmethods = nm; }
 140   static void add_scavenge_root_nmethod(nmethod* nm);
 141   static void drop_scavenge_root_nmethod(nmethod* nm);
 142   static void prune_scavenge_root_nmethods();
 143 
 144   // Printing/debugging
 145   static void print()   PRODUCT_RETURN;          // prints summary
 146   static void print_internals();
 147   static void verify();                          // verifies the code cache
 148   static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
 149   static void print_bounds(outputStream* st);    // Prints a summary of the bounds of the code cache
 150   static void log_state(outputStream* st);
 151 
 152   // The full limits of the codeCache
 153   static address  low_bound()                    { return (address) _heap->low_boundary(); }
 154   static address  high_bound()                   { return (address) _heap->high_boundary(); }
 155 
 156   // Profiling
 157   static address first_address();                // first address used for CodeBlobs
 158   static address last_address();                 // last  address used for CodeBlobs
 159   static size_t  capacity()                      { return _heap->capacity(); }
 160   static size_t  max_capacity()                  { return _heap->max_capacity(); }
 161   static size_t  unallocated_capacity()          { return _heap->unallocated_capacity(); }
 162   static size_t  largest_free_block()            { return _heap->largest_free_block(); }
 163   static bool    needs_flushing()                { return largest_free_block() < CodeCacheFlushingMinimumFreeSpace; }
 164 
 165   static bool needs_cache_clean()                { return _needs_cache_clean; }
 166   static void set_needs_cache_clean(bool v)      { _needs_cache_clean = v;    }
 167   static void clear_inline_caches();             // clear all inline caches
 168 
 169   static nmethod* find_and_remove_saved_code(methodOop m);
 170   static void remove_saved_code(nmethod* nm);
 171   static void speculatively_disconnect(nmethod* nm);
 172 
 173   // Deoptimization
 174   static int  mark_for_deoptimization(DepChange& changes);
 175 #ifdef HOTSWAP
 176   static int  mark_for_evol_deoptimization(instanceKlassHandle dependee);
 177 #endif // HOTSWAP
 178 
 179   static void mark_all_nmethods_for_deoptimization();
 180   static int  mark_for_deoptimization(methodOop dependee);
 181   static void make_marked_nmethods_zombies();
 182   static void make_marked_nmethods_not_entrant();
 183 
src/share/vm/code/codeCache.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File