206 } 207 208 void ZHeap::undo_alloc_page(ZPage* page) { 209 assert(page->is_allocating(), "Invalid page state"); 210 211 ZStatInc(ZCounterUndoPageAllocation); 212 log_trace(gc)("Undo page allocation, thread: " PTR_FORMAT " (%s), page: " PTR_FORMAT ", size: " SIZE_FORMAT, 213 ZThread::id(), ZThread::name(), p2i(page), page->size()); 214 215 free_page(page, false /* reclaimed */); 216 } 217 218 void ZHeap::free_page(ZPage* page, bool reclaimed) { 219 // Remove page table entry 220 _page_table.remove(page); 221 222 // Free page 223 _page_allocator.free_page(page, reclaimed); 224 } 225 226 void ZHeap::uncommit_run() { 227 _page_allocator.uncommit_run(); 228 } 229 230 void ZHeap::uncommit_stop() { 231 _page_allocator.uncommit_stop(); 232 } 233 234 void ZHeap::flip_to_marked() { 235 ZVerifyViewsFlip flip(&_page_allocator); 236 ZAddress::flip_to_marked(); 237 } 238 239 void ZHeap::flip_to_remapped() { 240 ZVerifyViewsFlip flip(&_page_allocator); 241 ZAddress::flip_to_remapped(); 242 } 243 244 void ZHeap::mark_start() { 245 assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint"); | 206 } 207 208 void ZHeap::undo_alloc_page(ZPage* page) { 209 assert(page->is_allocating(), "Invalid page state"); 210 211 ZStatInc(ZCounterUndoPageAllocation); 212 log_trace(gc)("Undo page allocation, thread: " PTR_FORMAT " (%s), page: " PTR_FORMAT ", size: " SIZE_FORMAT, 213 ZThread::id(), ZThread::name(), p2i(page), page->size()); 214 215 free_page(page, false /* reclaimed */); 216 } 217 218 void ZHeap::free_page(ZPage* page, bool reclaimed) { 219 // Remove page table entry 220 _page_table.remove(page); 221 222 // Free page 223 _page_allocator.free_page(page, reclaimed); 224 } 225 226 void ZHeap::unmap_run() { 227 _page_allocator.unmap_run(); 228 } 229 230 void ZHeap::unmap_stop() { 231 _page_allocator.unmap_stop(); 232 } 233 234 void ZHeap::uncommit_run() { 235 _page_allocator.uncommit_run(); 236 } 237 238 void ZHeap::uncommit_stop() { 239 _page_allocator.uncommit_stop(); 240 } 241 242 void ZHeap::flip_to_marked() { 243 ZVerifyViewsFlip flip(&_page_allocator); 244 ZAddress::flip_to_marked(); 245 } 246 247 void ZHeap::flip_to_remapped() { 248 ZVerifyViewsFlip flip(&_page_allocator); 249 ZAddress::flip_to_remapped(); 250 } 251 252 void ZHeap::mark_start() { 253 assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint"); |