< prev index next >

src/hotspot/share/code/codeCache.hpp

Print this page




 277   static void mark_for_evol_deoptimization(InstanceKlass* dependee);
 278   static int  mark_dependents_for_evol_deoptimization();
 279   static void mark_all_nmethods_for_evol_deoptimization();
 280   static void flush_evol_dependents();
 281   static void old_nmethods_do(MetadataClosure* f);
 282   static void unregister_old_nmethod(CompiledMethod* c);
 283 
 284   // Support for fullspeed debugging
 285   static void flush_dependents_on_method(const methodHandle& dependee);
 286 
 287   // tells how many nmethods have dependencies
 288   static int number_of_nmethods_with_dependencies();
 289 
 290   static int get_codemem_full_count(int code_blob_type) {
 291     CodeHeap* heap = get_code_heap(code_blob_type);
 292     return (heap != NULL) ? heap->full_count() : 0;
 293   }
 294 
 295   // CodeHeap State Analytics.
 296   // interface methods for CodeHeap printing, called by CompileBroker
 297   static void aggregate(outputStream *out, size_t granularity);
 298   static void discard(outputStream *out);
 299   static void print_usedSpace(outputStream *out);
 300   static void print_freeSpace(outputStream *out);
 301   static void print_count(outputStream *out);
 302   static void print_space(outputStream *out);
 303   static void print_age(outputStream *out);
 304   static void print_names(outputStream *out);
 305 };
 306 
 307 
 308 // Iterator to iterate over nmethods in the CodeCache.
 309 template <class T, class Filter> class CodeBlobIterator : public StackObj {
 310  public:
 311   enum LivenessFilter { all_blobs, only_alive, only_alive_and_not_unloading };
 312 
 313  private:
 314   CodeBlob* _code_blob;   // Current CodeBlob
 315   GrowableArrayIterator<CodeHeap*> _heap;
 316   GrowableArrayIterator<CodeHeap*> _end;
 317   bool _only_alive;




 277   static void mark_for_evol_deoptimization(InstanceKlass* dependee);
 278   static int  mark_dependents_for_evol_deoptimization();
 279   static void mark_all_nmethods_for_evol_deoptimization();
 280   static void flush_evol_dependents();
 281   static void old_nmethods_do(MetadataClosure* f);
 282   static void unregister_old_nmethod(CompiledMethod* c);
 283 
 284   // Support for fullspeed debugging
 285   static void flush_dependents_on_method(const methodHandle& dependee);
 286 
 287   // tells how many nmethods have dependencies
 288   static int number_of_nmethods_with_dependencies();
 289 
 290   static int get_codemem_full_count(int code_blob_type) {
 291     CodeHeap* heap = get_code_heap(code_blob_type);
 292     return (heap != NULL) ? heap->full_count() : 0;
 293   }
 294 
 295   // CodeHeap State Analytics.
 296   // interface methods for CodeHeap printing, called by CompileBroker
 297   static void aggregate(outputStream *out, const char* granularity);
 298   static void discard(outputStream *out);
 299   static void print_usedSpace(outputStream *out);
 300   static void print_freeSpace(outputStream *out);
 301   static void print_count(outputStream *out);
 302   static void print_space(outputStream *out);
 303   static void print_age(outputStream *out);
 304   static void print_names(outputStream *out);
 305 };
 306 
 307 
 308 // Iterator to iterate over nmethods in the CodeCache.
 309 template <class T, class Filter> class CodeBlobIterator : public StackObj {
 310  public:
 311   enum LivenessFilter { all_blobs, only_alive, only_alive_and_not_unloading };
 312 
 313  private:
 314   CodeBlob* _code_blob;   // Current CodeBlob
 315   GrowableArrayIterator<CodeHeap*> _heap;
 316   GrowableArrayIterator<CodeHeap*> _end;
 317   bool _only_alive;


< prev index next >