< prev index next >

src/share/vm/code/codeCache.hpp

Print this page
rev 13281 : [mq]: CollectedHeap_register_nmethod_v2


 164   static int       nmethod_count(int code_blob_type);
 165 
 166   // GC support
 167   static void gc_epilogue();
 168   static void gc_prologue();
 169   static void verify_oops();
 170   // If "unloading_occurred" is true, then unloads (i.e., breaks root links
 171   // to) any unmarked codeBlobs in the cache.  Sets "marked_for_unloading"
 172   // to "true" iff some code got unloaded.
 173   static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
 174   static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN;
 175 
 176   // Apply f to every live code blob in scavengable nmethods. Prune nmethods
 177   // from the list of scavengable nmethods if f->fix_relocations() and a nmethod
 178   // no longer has scavengable oops.  If f->fix_relocations(), then f must copy
 179   // objects to their new location immediately to avoid fixing nmethods on the
 180   // basis of the old object locations.
 181   static void scavenge_root_nmethods_do(CodeBlobToOopClosure* f);
 182 
 183   static nmethod* scavenge_root_nmethods()            { return _scavenge_root_nmethods; }



 184   static void add_scavenge_root_nmethod(nmethod* nm);
 185   static void drop_scavenge_root_nmethod(nmethod* nm);
 186 
 187   // Printing/debugging
 188   static void print();                           // prints summary
 189   static void print_internals();
 190   static void print_memory_overhead();
 191   static void verify();                          // verifies the code cache
 192   static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
 193   static void print_summary(outputStream* st, bool detailed = true); // Prints a summary of the code cache usage
 194   static void log_state(outputStream* st);
 195   static const char* get_code_heap_name(int code_blob_type)  { return (heap_available(code_blob_type) ? get_code_heap(code_blob_type)->name() : "Unused"); }
 196   static void report_codemem_full(int code_blob_type, bool print);
 197 
 198   // Dcmd (Diagnostic commands)
 199   static void print_codelist(outputStream* st);
 200   static void print_layout(outputStream* st);
 201 
 202   // The full limits of the codeCache
 203   static address low_bound()                          { return _low_bound; }




 164   static int       nmethod_count(int code_blob_type);
 165 
 166   // GC support
 167   static void gc_epilogue();
 168   static void gc_prologue();
 169   static void verify_oops();
 170   // If "unloading_occurred" is true, then unloads (i.e., breaks root links
 171   // to) any unmarked codeBlobs in the cache.  Sets "marked_for_unloading"
 172   // to "true" iff some code got unloaded.
 173   static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
 174   static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN;
 175 
 176   // Apply f to every live code blob in scavengable nmethods. Prune nmethods
 177   // from the list of scavengable nmethods if f->fix_relocations() and a nmethod
 178   // no longer has scavengable oops.  If f->fix_relocations(), then f must copy
 179   // objects to their new location immediately to avoid fixing nmethods on the
 180   // basis of the old object locations.
 181   static void scavenge_root_nmethods_do(CodeBlobToOopClosure* f);
 182 
 183   static nmethod* scavenge_root_nmethods()            { return _scavenge_root_nmethods; }
 184   // register_scavenge_root_nmethod() conditionally adds the nmethod to the list
 185   // if it is not already on the list and has a scavengeable root
 186   static void register_scavenge_root_nmethod(nmethod* nm);
 187   static void add_scavenge_root_nmethod(nmethod* nm);
 188   static void drop_scavenge_root_nmethod(nmethod* nm);
 189 
 190   // Printing/debugging
 191   static void print();                           // prints summary
 192   static void print_internals();
 193   static void print_memory_overhead();
 194   static void verify();                          // verifies the code cache
 195   static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
 196   static void print_summary(outputStream* st, bool detailed = true); // Prints a summary of the code cache usage
 197   static void log_state(outputStream* st);
 198   static const char* get_code_heap_name(int code_blob_type)  { return (heap_available(code_blob_type) ? get_code_heap(code_blob_type)->name() : "Unused"); }
 199   static void report_codemem_full(int code_blob_type, bool print);
 200 
 201   // Dcmd (Diagnostic commands)
 202   static void print_codelist(outputStream* st);
 203   static void print_layout(outputStream* st);
 204 
 205   // The full limits of the codeCache
 206   static address low_bound()                          { return _low_bound; }


< prev index next >