src/share/vm/memory/generation.hpp

Print this page




 440   virtual void update_gc_stats(int current_level, bool full) {}
 441 
 442   // Mark sweep support phase2
 443   virtual void prepare_for_compaction(CompactPoint* cp);
 444   // Mark sweep support phase3
 445   virtual void pre_adjust_pointers() {ShouldNotReachHere();}
 446   virtual void adjust_pointers();
 447   // Mark sweep support phase4
 448   virtual void compact();
 449   virtual void post_compact() {ShouldNotReachHere();}
 450 
 451   // Support for CMS's rescan. In this general form we return a pointer
 452   // to an abstract object that can be used, based on specific previously
 453   // decided protocols, to exchange information between generations,
 454   // information that may be useful for speeding up certain types of
 455   // garbage collectors. A NULL value indicates to the client that
 456   // no data recording is expected by the provider. The data-recorder is
 457   // expected to be GC worker thread-local, with the worker index
 458   // indicated by "thr_num".
 459   virtual void* get_data_recorder(int thr_num) { return NULL; }

 460 
 461   // Some generations may require some cleanup actions before allowing
 462   // a verification.
 463   virtual void prepare_for_verify() {};
 464 
 465   // Accessing "marks".
 466 
 467   // This function gives a generation a chance to note a point between
 468   // collections.  For example, a contiguous generation might note the
 469   // beginning allocation point post-collection, which might allow some later
 470   // operations to be optimized.
 471   virtual void save_marks() {}
 472 
 473   // This function allows generations to initialize any "saved marks".  That
 474   // is, should only be called when the generation is empty.
 475   virtual void reset_saved_marks() {}
 476 
 477   // This function is "true" iff any no allocations have occurred in the
 478   // generation since the last call to "save_marks".
 479   virtual bool no_allocs_since_save_marks() = 0;




 440   virtual void update_gc_stats(int current_level, bool full) {}
 441 
 442   // Mark sweep support phase2
 443   virtual void prepare_for_compaction(CompactPoint* cp);
 444   // Mark sweep support phase3
 445   virtual void pre_adjust_pointers() {ShouldNotReachHere();}
 446   virtual void adjust_pointers();
 447   // Mark sweep support phase4
 448   virtual void compact();
 449   virtual void post_compact() {ShouldNotReachHere();}
 450 
 451   // Support for CMS's rescan. In this general form we return a pointer
 452   // to an abstract object that can be used, based on specific previously
 453   // decided protocols, to exchange information between generations,
 454   // information that may be useful for speeding up certain types of
 455   // garbage collectors. A NULL value indicates to the client that
 456   // no data recording is expected by the provider. The data-recorder is
 457   // expected to be GC worker thread-local, with the worker index
 458   // indicated by "thr_num".
 459   virtual void* get_data_recorder(int thr_num) { return NULL; }
 460   virtual void sample_eden_chunk() {}
 461 
 462   // Some generations may require some cleanup actions before allowing
 463   // a verification.
 464   virtual void prepare_for_verify() {};
 465 
 466   // Accessing "marks".
 467 
 468   // This function gives a generation a chance to note a point between
 469   // collections.  For example, a contiguous generation might note the
 470   // beginning allocation point post-collection, which might allow some later
 471   // operations to be optimized.
 472   virtual void save_marks() {}
 473 
 474   // This function allows generations to initialize any "saved marks".  That
 475   // is, should only be called when the generation is empty.
 476   virtual void reset_saved_marks() {}
 477 
 478   // This function is "true" iff any no allocations have occurred in the
 479   // generation since the last call to "save_marks".
 480   virtual bool no_allocs_since_save_marks() = 0;