164 // Some barrier sets create tables whose elements correspond to parts of 165 // the heap; the CardTableModRefBS is an example. Such barrier sets will 166 // normally reserve space for such tables, and commit parts of the table 167 // "covering" parts of the heap that are committed. The constructor is 168 // passed the maximum number of independently committable subregions to 169 // be covered, and the "resize_covoered_region" function allows the 170 // sub-parts of the heap to inform the barrier set of changes of their 171 // sizes. 172 BarrierSet(int max_covered_regions) : 173 _max_covered_regions(max_covered_regions) {} 174 175 // Inform the BarrierSet that the the covered heap region that starts 176 // with "base" has been changed to have the given size (possibly from 0, 177 // for initialization.) 178 virtual void resize_covered_region(MemRegion new_region) = 0; 179 180 // If the barrier set imposes any alignment restrictions on boundaries 181 // within the heap, this function tells whether they are met. 182 virtual bool is_aligned(HeapWord* addr) = 0; 183 184 }; 185 186 #endif // SHARE_VM_MEMORY_BARRIERSET_HPP | 164 // Some barrier sets create tables whose elements correspond to parts of 165 // the heap; the CardTableModRefBS is an example. Such barrier sets will 166 // normally reserve space for such tables, and commit parts of the table 167 // "covering" parts of the heap that are committed. The constructor is 168 // passed the maximum number of independently committable subregions to 169 // be covered, and the "resize_covoered_region" function allows the 170 // sub-parts of the heap to inform the barrier set of changes of their 171 // sizes. 172 BarrierSet(int max_covered_regions) : 173 _max_covered_regions(max_covered_regions) {} 174 175 // Inform the BarrierSet that the the covered heap region that starts 176 // with "base" has been changed to have the given size (possibly from 0, 177 // for initialization.) 178 virtual void resize_covered_region(MemRegion new_region) = 0; 179 180 // If the barrier set imposes any alignment restrictions on boundaries 181 // within the heap, this function tells whether they are met. 182 virtual bool is_aligned(HeapWord* addr) = 0; 183 184 // Print a description of the memory for the barrier set 185 virtual void print_on(outputStream* st) const = 0; 186 }; 187 188 #endif // SHARE_VM_MEMORY_BARRIERSET_HPP |