< prev index next >

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

Print this page




 383       if (now < _time_of_last_gc) {
 384         log_warning(gc)("time warp: " JLONG_FORMAT " to " JLONG_FORMAT, _time_of_last_gc, now);
 385       }
 386     )
 387     return _time_of_last_gc;
 388   }
 389 
 390   virtual void update_time_of_last_gc(jlong now)  {
 391     _time_of_last_gc = now;
 392   }
 393 
 394   // Generations may keep statistics about collection. This method
 395   // updates those statistics. current_generation is the generation
 396   // that was most recently collected. This allows the generation to
 397   // decide what statistics are valid to collect. For example, the
 398   // generation can decide to gather the amount of promoted data if
 399   // the collection of the young generation has completed.
 400   GCStats* gc_stats() const { return _gc_stats; }
 401   virtual void update_gc_stats(Generation* current_generation, bool full) {}
 402 

 403   // Mark sweep support phase2
 404   virtual void prepare_for_compaction(CompactPoint* cp);
 405   // Mark sweep support phase3
 406   virtual void adjust_pointers();
 407   // Mark sweep support phase4
 408   virtual void compact();
 409   virtual void post_compact() { ShouldNotReachHere(); }

 410 
 411   // Support for CMS's rescan. In this general form we return a pointer
 412   // to an abstract object that can be used, based on specific previously
 413   // decided protocols, to exchange information between generations,
 414   // information that may be useful for speeding up certain types of
 415   // garbage collectors. A NULL value indicates to the client that
 416   // no data recording is expected by the provider. The data-recorder is
 417   // expected to be GC worker thread-local, with the worker index
 418   // indicated by "thr_num".
 419   virtual void* get_data_recorder(int thr_num) { return NULL; }
 420   virtual void sample_eden_chunk() {}
 421 
 422   // Some generations may require some cleanup actions before allowing
 423   // a verification.
 424   virtual void prepare_for_verify() {}
 425 
 426   // Accessing "marks".
 427 
 428   // This function gives a generation a chance to note a point between
 429   // collections.  For example, a contiguous generation might note the




 383       if (now < _time_of_last_gc) {
 384         log_warning(gc)("time warp: " JLONG_FORMAT " to " JLONG_FORMAT, _time_of_last_gc, now);
 385       }
 386     )
 387     return _time_of_last_gc;
 388   }
 389 
 390   virtual void update_time_of_last_gc(jlong now)  {
 391     _time_of_last_gc = now;
 392   }
 393 
 394   // Generations may keep statistics about collection. This method
 395   // updates those statistics. current_generation is the generation
 396   // that was most recently collected. This allows the generation to
 397   // decide what statistics are valid to collect. For example, the
 398   // generation can decide to gather the amount of promoted data if
 399   // the collection of the young generation has completed.
 400   GCStats* gc_stats() const { return _gc_stats; }
 401   virtual void update_gc_stats(Generation* current_generation, bool full) {}
 402 
 403 #if INCLUDE_SERIALGC
 404   // Mark sweep support phase2
 405   virtual void prepare_for_compaction(CompactPoint* cp);
 406   // Mark sweep support phase3
 407   virtual void adjust_pointers();
 408   // Mark sweep support phase4
 409   virtual void compact();
 410   virtual void post_compact() { ShouldNotReachHere(); }
 411 #endif
 412 
 413   // Support for CMS's rescan. In this general form we return a pointer
 414   // to an abstract object that can be used, based on specific previously
 415   // decided protocols, to exchange information between generations,
 416   // information that may be useful for speeding up certain types of
 417   // garbage collectors. A NULL value indicates to the client that
 418   // no data recording is expected by the provider. The data-recorder is
 419   // expected to be GC worker thread-local, with the worker index
 420   // indicated by "thr_num".
 421   virtual void* get_data_recorder(int thr_num) { return NULL; }
 422   virtual void sample_eden_chunk() {}
 423 
 424   // Some generations may require some cleanup actions before allowing
 425   // a verification.
 426   virtual void prepare_for_verify() {}
 427 
 428   // Accessing "marks".
 429 
 430   // This function gives a generation a chance to note a point between
 431   // collections.  For example, a contiguous generation might note the


< prev index next >