< prev index next >

src/share/vm/gc/parallel/psParallelCompact.hpp

Print this page




1048   // updating references in the compacted region.
1049   static inline double reclaimed_ratio(const RegionData* const candidate,
1050                                        HeapWord* const bottom,
1051                                        HeapWord* const top,
1052                                        HeapWord* const new_top);
1053 
1054   // Compute the dense prefix for the designated space.
1055   static HeapWord* compute_dense_prefix(const SpaceId id,
1056                                         bool maximum_compaction);
1057 
1058   // Return true if dead space crosses onto the specified Region; bit must be
1059   // the bit index corresponding to the first word of the Region.
1060   static inline bool dead_space_crosses_boundary(const RegionData* region,
1061                                                  idx_t bit);
1062 
1063   // Summary phase utility routine to fill dead space (if any) at the dense
1064   // prefix boundary.  Should only be called if the the dense prefix is
1065   // non-empty.
1066   static void fill_dense_prefix_end(SpaceId id);
1067 
1068   // Clear the summary data source_region field for the specified addresses.
1069   static void clear_source_region(HeapWord* beg_addr, HeapWord* end_addr);
1070 
1071   static void summarize_spaces_quick();
1072   static void summarize_space(SpaceId id, bool maximum_compaction);
1073   static void summary_phase(ParCompactionManager* cm, bool maximum_compaction);
1074 
1075   // Adjust addresses in roots.  Does not adjust addresses in heap.
1076   static void adjust_roots(ParCompactionManager* cm);
1077 
1078   DEBUG_ONLY(static void write_block_fill_histogram();)
1079 
1080   // Move objects to new locations.
1081   static void compact_perm(ParCompactionManager* cm);
1082   static void compact();
1083 
1084   // Add available regions to the stack and draining tasks to the task queue.
1085   static void enqueue_region_draining_tasks(GCTaskQueue* q,
1086                                             uint parallel_gc_threads);
1087 
1088   // Add dense prefix update tasks to the task queue.
1089   static void enqueue_dense_prefix_tasks(GCTaskQueue* q,
1090                                          uint parallel_gc_threads);




1048   // updating references in the compacted region.
1049   static inline double reclaimed_ratio(const RegionData* const candidate,
1050                                        HeapWord* const bottom,
1051                                        HeapWord* const top,
1052                                        HeapWord* const new_top);
1053 
1054   // Compute the dense prefix for the designated space.
1055   static HeapWord* compute_dense_prefix(const SpaceId id,
1056                                         bool maximum_compaction);
1057 
1058   // Return true if dead space crosses onto the specified Region; bit must be
1059   // the bit index corresponding to the first word of the Region.
1060   static inline bool dead_space_crosses_boundary(const RegionData* region,
1061                                                  idx_t bit);
1062 
1063   // Summary phase utility routine to fill dead space (if any) at the dense
1064   // prefix boundary.  Should only be called if the the dense prefix is
1065   // non-empty.
1066   static void fill_dense_prefix_end(SpaceId id);
1067 



1068   static void summarize_spaces_quick();
1069   static void summarize_space(SpaceId id, bool maximum_compaction);
1070   static void summary_phase(ParCompactionManager* cm, bool maximum_compaction);
1071 
1072   // Adjust addresses in roots.  Does not adjust addresses in heap.
1073   static void adjust_roots(ParCompactionManager* cm);
1074 
1075   DEBUG_ONLY(static void write_block_fill_histogram();)
1076 
1077   // Move objects to new locations.
1078   static void compact_perm(ParCompactionManager* cm);
1079   static void compact();
1080 
1081   // Add available regions to the stack and draining tasks to the task queue.
1082   static void enqueue_region_draining_tasks(GCTaskQueue* q,
1083                                             uint parallel_gc_threads);
1084 
1085   // Add dense prefix update tasks to the task queue.
1086   static void enqueue_dense_prefix_tasks(GCTaskQueue* q,
1087                                          uint parallel_gc_threads);


< prev index next >