equal
deleted
inserted
replaced
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 } |