hotspot/src/share/vm/gc/parallel/psParallelCompact.hpp
changeset 35061 be6025ebffea
parent 33758 aa54610a0b93
child 35862 411842d0c882
equal deleted inserted replaced
35060:382d0689141c 35061:be6025ebffea
   964   static CollectorCounters*   _counters;
   964   static CollectorCounters*   _counters;
   965   static ParMarkBitMap        _mark_bitmap;
   965   static ParMarkBitMap        _mark_bitmap;
   966   static ParallelCompactData  _summary_data;
   966   static ParallelCompactData  _summary_data;
   967   static IsAliveClosure       _is_alive_closure;
   967   static IsAliveClosure       _is_alive_closure;
   968   static SpaceInfo            _space_info[last_space_id];
   968   static SpaceInfo            _space_info[last_space_id];
   969   static bool                 _print_phases;
       
   970   static AdjustPointerClosure _adjust_pointer_closure;
   969   static AdjustPointerClosure _adjust_pointer_closure;
   971   static AdjustKlassClosure   _adjust_klass_closure;
   970   static AdjustKlassClosure   _adjust_klass_closure;
   972 
   971 
   973   // Reference processing (used in ...follow_contents)
   972   // Reference processing (used in ...follow_contents)
   974   static ReferenceProcessor*  _ref_processor;
   973   static ReferenceProcessor*  _ref_processor;
   987 
   986 
   988  private:
   987  private:
   989 
   988 
   990   static void initialize_space_info();
   989   static void initialize_space_info();
   991 
   990 
   992   // Return true if details about individual phases should be printed.
       
   993   static inline bool print_phases();
       
   994 
       
   995   // Clear the marking bitmap and summary data that cover the specified space.
   991   // Clear the marking bitmap and summary data that cover the specified space.
   996   static void clear_data_covering_space(SpaceId id);
   992   static void clear_data_covering_space(SpaceId id);
   997 
   993 
   998   static void pre_compact(PreGCValues* pre_gc_values);
   994   static void pre_compact();
   999   static void post_compact();
   995   static void post_compact();
  1000 
   996 
  1001   // Mark live objects
   997   // Mark live objects
  1002   static void marking_phase(ParCompactionManager* cm,
   998   static void marking_phase(ParCompactionManager* cm,
  1003                             bool maximum_heap_compaction,
   999                             bool maximum_heap_compaction,
  1067   static void summary_phase(ParCompactionManager* cm, bool maximum_compaction);
  1063   static void summary_phase(ParCompactionManager* cm, bool maximum_compaction);
  1068 
  1064 
  1069   // Adjust addresses in roots.  Does not adjust addresses in heap.
  1065   // Adjust addresses in roots.  Does not adjust addresses in heap.
  1070   static void adjust_roots();
  1066   static void adjust_roots();
  1071 
  1067 
  1072   DEBUG_ONLY(static void write_block_fill_histogram(outputStream* const out);)
  1068   DEBUG_ONLY(static void write_block_fill_histogram();)
  1073 
  1069 
  1074   // Move objects to new locations.
  1070   // Move objects to new locations.
  1075   static void compact_perm(ParCompactionManager* cm);
  1071   static void compact_perm(ParCompactionManager* cm);
  1076   static void compact();
  1072   static void compact();
  1077 
  1073 
  1258 
  1254 
  1259 inline bool PSParallelCompact::is_marked(oop obj) {
  1255 inline bool PSParallelCompact::is_marked(oop obj) {
  1260   return mark_bitmap()->is_marked(obj);
  1256   return mark_bitmap()->is_marked(obj);
  1261 }
  1257 }
  1262 
  1258 
  1263 inline bool PSParallelCompact::print_phases() {
       
  1264   return _print_phases;
       
  1265 }
       
  1266 
       
  1267 inline double PSParallelCompact::normal_distribution(double density) {
  1259 inline double PSParallelCompact::normal_distribution(double density) {
  1268   assert(_dwl_initialized, "uninitialized");
  1260   assert(_dwl_initialized, "uninitialized");
  1269   const double squared_term = (density - _dwl_mean) / _dwl_std_dev;
  1261   const double squared_term = (density - _dwl_mean) / _dwl_std_dev;
  1270   return _dwl_first_term * exp(-0.5 * squared_term * squared_term);
  1262   return _dwl_first_term * exp(-0.5 * squared_term * squared_term);
  1271 }
  1263 }