< prev index next >

src/hotspot/share/gc/shared/generation.hpp

Print this page




 457   // Give each generation an opportunity to do clean up for any
 458   // contributed scratch.
 459   virtual void reset_scratch() {}
 460 
 461   // When an older generation has been collected, and perhaps resized,
 462   // this method will be invoked on all younger generations (from older to
 463   // younger), allowing them to resize themselves as appropriate.
 464   virtual void compute_new_size() = 0;
 465 
 466   // Printing
 467   virtual const char* name() const = 0;
 468   virtual const char* short_name() const = 0;
 469 
 470   // Reference Processing accessor
 471   ReferenceProcessor* const ref_processor() { return _ref_processor; }
 472 
 473   // Iteration.
 474 
 475   // Iterate over all the ref-containing fields of all objects in the
 476   // generation, calling "cl.do_oop" on each.
 477   virtual void oop_iterate(ExtendedOopClosure* cl);
 478 
 479   // Iterate over all objects in the generation, calling "cl.do_object" on
 480   // each.
 481   virtual void object_iterate(ObjectClosure* cl);
 482 
 483   // Iterate over all safe objects in the generation, calling "cl.do_object" on
 484   // each.  An object is safe if its references point to other objects in
 485   // the heap.  This defaults to object_iterate() unless overridden.
 486   virtual void safe_object_iterate(ObjectClosure* cl);
 487 
 488   // Apply "cl->do_oop" to (the address of) all and only all the ref fields
 489   // in the current generation that contain pointers to objects in younger
 490   // generations. Objects allocated since the last "save_marks" call are
 491   // excluded.
 492   virtual void younger_refs_iterate(OopsInGenClosure* cl, uint n_threads) = 0;
 493 
 494   // Inform a generation that it longer contains references to objects
 495   // in any younger generation.    [e.g. Because younger gens are empty,
 496   // clear the card table.]
 497   virtual void clear_remembered_set() { }




 457   // Give each generation an opportunity to do clean up for any
 458   // contributed scratch.
 459   virtual void reset_scratch() {}
 460 
 461   // When an older generation has been collected, and perhaps resized,
 462   // this method will be invoked on all younger generations (from older to
 463   // younger), allowing them to resize themselves as appropriate.
 464   virtual void compute_new_size() = 0;
 465 
 466   // Printing
 467   virtual const char* name() const = 0;
 468   virtual const char* short_name() const = 0;
 469 
 470   // Reference Processing accessor
 471   ReferenceProcessor* const ref_processor() { return _ref_processor; }
 472 
 473   // Iteration.
 474 
 475   // Iterate over all the ref-containing fields of all objects in the
 476   // generation, calling "cl.do_oop" on each.
 477   virtual void oop_iterate(OopIterateClosure* cl);
 478 
 479   // Iterate over all objects in the generation, calling "cl.do_object" on
 480   // each.
 481   virtual void object_iterate(ObjectClosure* cl);
 482 
 483   // Iterate over all safe objects in the generation, calling "cl.do_object" on
 484   // each.  An object is safe if its references point to other objects in
 485   // the heap.  This defaults to object_iterate() unless overridden.
 486   virtual void safe_object_iterate(ObjectClosure* cl);
 487 
 488   // Apply "cl->do_oop" to (the address of) all and only all the ref fields
 489   // in the current generation that contain pointers to objects in younger
 490   // generations. Objects allocated since the last "save_marks" call are
 491   // excluded.
 492   virtual void younger_refs_iterate(OopsInGenClosure* cl, uint n_threads) = 0;
 493 
 494   // Inform a generation that it longer contains references to objects
 495   // in any younger generation.    [e.g. Because younger gens are empty,
 496   // clear the card table.]
 497   virtual void clear_remembered_set() { }


< prev index next >