450 virtual void print_on(outputStream* st) const = 0; 451 // The default behavior is to call print_on() on tty. 452 virtual void print() const; 453 454 // Print more detailed heap information on the given 455 // outputStream. The default behavior is to call print_on(). It is 456 // up to each subclass to override it and add any additional output 457 // it needs. 458 virtual void print_extended_on(outputStream* st) const { 459 print_on(st); 460 } 461 462 virtual void print_on_error(outputStream* st) const; 463 464 // Used to print information about locations in the hs_err file. 465 virtual bool print_location(outputStream* st, void* addr) const = 0; 466 467 // Iterator for all GC threads (other than VM thread) 468 virtual void gc_threads_do(ThreadClosure* tc) const = 0; 469 470 // Run given task. Possibly in parallel if the GC supports it. 471 virtual void run_task(AbstractGangTask* task) = 0; 472 473 // Print any relevant tracing info that flags imply. 474 // Default implementation does nothing. 475 virtual void print_tracing_info() const = 0; 476 477 void print_heap_before_gc(); 478 void print_heap_after_gc(); 479 480 // Registering and unregistering an nmethod (compiled code) with the heap. 481 virtual void register_nmethod(nmethod* nm) = 0; 482 virtual void unregister_nmethod(nmethod* nm) = 0; 483 // Callback for when nmethod is about to be deleted. 484 virtual void flush_nmethod(nmethod* nm) = 0; 485 virtual void verify_nmethod(nmethod* nm) = 0; 486 487 void trace_heap_before_gc(const GCTracer* gc_tracer); 488 void trace_heap_after_gc(const GCTracer* gc_tracer); 489 490 // Heap verification 491 virtual void verify(VerifyOption option) = 0; 492 | 450 virtual void print_on(outputStream* st) const = 0; 451 // The default behavior is to call print_on() on tty. 452 virtual void print() const; 453 454 // Print more detailed heap information on the given 455 // outputStream. The default behavior is to call print_on(). It is 456 // up to each subclass to override it and add any additional output 457 // it needs. 458 virtual void print_extended_on(outputStream* st) const { 459 print_on(st); 460 } 461 462 virtual void print_on_error(outputStream* st) const; 463 464 // Used to print information about locations in the hs_err file. 465 virtual bool print_location(outputStream* st, void* addr) const = 0; 466 467 // Iterator for all GC threads (other than VM thread) 468 virtual void gc_threads_do(ThreadClosure* tc) const = 0; 469 470 // Print any relevant tracing info that flags imply. 471 // Default implementation does nothing. 472 virtual void print_tracing_info() const = 0; 473 474 void print_heap_before_gc(); 475 void print_heap_after_gc(); 476 477 // Registering and unregistering an nmethod (compiled code) with the heap. 478 virtual void register_nmethod(nmethod* nm) = 0; 479 virtual void unregister_nmethod(nmethod* nm) = 0; 480 // Callback for when nmethod is about to be deleted. 481 virtual void flush_nmethod(nmethod* nm) = 0; 482 virtual void verify_nmethod(nmethod* nm) = 0; 483 484 void trace_heap_before_gc(const GCTracer* gc_tracer); 485 void trace_heap_after_gc(const GCTracer* gc_tracer); 486 487 // Heap verification 488 virtual void verify(VerifyOption option) = 0; 489 |