< prev index next >

src/hotspot/share/code/codeCache.hpp

Print this page




 153   static CodeBlob* find_blob(void* start);              // Returns the CodeBlob containing the given address
 154   static CodeBlob* find_blob_unsafe(void* start);       // Same as find_blob but does not fail if looking up a zombie method
 155   static nmethod*  find_nmethod(void* start);           // Returns the nmethod containing the given address
 156   static CompiledMethod* find_compiled(void* start);
 157 
 158   static int       blob_count();                        // Returns the total number of CodeBlobs in the cache
 159   static int       blob_count(int code_blob_type);
 160   static int       adapter_count();                     // Returns the total number of Adapters in the cache
 161   static int       adapter_count(int code_blob_type);
 162   static int       nmethod_count();                     // Returns the total number of nmethods in the cache
 163   static int       nmethod_count(int code_blob_type);
 164 
 165   // GC support
 166   static void verify_oops();
 167   // If any oops are not marked this method unloads (i.e., breaks root links
 168   // to) any unmarked codeBlobs in the cache.  Sets "marked_for_unloading"
 169   // to "true" iff some code got unloaded.
 170   // "unloading_occurred" controls whether metadata should be cleaned because of class unloading.
 171   class UnloadingScope: StackObj {
 172     ClosureIsUnloadingBehaviour _is_unloading_behaviour;
 173     IsUnloadingBehaviour*       _saved_behaviour;
 174 
 175   public:
 176     UnloadingScope(BoolObjectClosure* is_alive);
 177     ~UnloadingScope();
 178   };
 179 
 180   static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
 181   static uint8_t unloading_cycle() { return _unloading_cycle; }
 182   static void increment_unloading_cycle();
 183   static void release_exception_cache(ExceptionCache* entry);
 184   static void purge_exception_caches();
 185 
 186   // Printing/debugging
 187   static void print();                           // prints summary
 188   static void print_internals();
 189   static void print_memory_overhead();
 190   static void verify();                          // verifies the code cache
 191   static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
 192   static void print_summary(outputStream* st, bool detailed = true); // Prints a summary of the code cache usage
 193   static void log_state(outputStream* st);




 153   static CodeBlob* find_blob(void* start);              // Returns the CodeBlob containing the given address
 154   static CodeBlob* find_blob_unsafe(void* start);       // Same as find_blob but does not fail if looking up a zombie method
 155   static nmethod*  find_nmethod(void* start);           // Returns the nmethod containing the given address
 156   static CompiledMethod* find_compiled(void* start);
 157 
 158   static int       blob_count();                        // Returns the total number of CodeBlobs in the cache
 159   static int       blob_count(int code_blob_type);
 160   static int       adapter_count();                     // Returns the total number of Adapters in the cache
 161   static int       adapter_count(int code_blob_type);
 162   static int       nmethod_count();                     // Returns the total number of nmethods in the cache
 163   static int       nmethod_count(int code_blob_type);
 164 
 165   // GC support
 166   static void verify_oops();
 167   // If any oops are not marked this method unloads (i.e., breaks root links
 168   // to) any unmarked codeBlobs in the cache.  Sets "marked_for_unloading"
 169   // to "true" iff some code got unloaded.
 170   // "unloading_occurred" controls whether metadata should be cleaned because of class unloading.
 171   class UnloadingScope: StackObj {
 172     ClosureIsUnloadingBehaviour _is_unloading_behaviour;

 173 
 174   public:
 175     UnloadingScope(BoolObjectClosure* is_alive);
 176     ~UnloadingScope();
 177   };
 178 
 179   static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
 180   static uint8_t unloading_cycle() { return _unloading_cycle; }
 181   static void increment_unloading_cycle();
 182   static void release_exception_cache(ExceptionCache* entry);
 183   static void purge_exception_caches();
 184 
 185   // Printing/debugging
 186   static void print();                           // prints summary
 187   static void print_internals();
 188   static void print_memory_overhead();
 189   static void verify();                          // verifies the code cache
 190   static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
 191   static void print_summary(outputStream* st, bool detailed = true); // Prints a summary of the code cache usage
 192   static void log_state(outputStream* st);


< prev index next >