src/hotspot/share/gc/z/zHeap.cpp
changeset 54174 6d1caebf8d37
parent 54168 eb54b34af2be
child 54331 f0fec71d2fff
--- a/src/hotspot/share/gc/z/zHeap.cpp	Mon Mar 18 11:50:40 2019 +0100
+++ b/src/hotspot/share/gc/z/zHeap.cpp	Mon Mar 18 11:50:41 2019 +0100
@@ -403,6 +403,9 @@
 }
 
 void ZHeap::select_relocation_set() {
+  // Do not allow pages to be deleted
+  _page_allocator.enable_deferred_delete();
+
   // Register relocatable pages with selector
   ZRelocationSetSelector selector;
   ZPageTableIterator pt_iter(&_page_table);
@@ -424,6 +427,9 @@
     }
   }
 
+  // Allow pages to be deleted
+  _page_allocator.disable_deferred_delete();
+
   // Select pages to relocate
   selector.select(&_relocation_set);
 
@@ -451,10 +457,6 @@
   _relocation_set.reset();
 }
 
-void ZHeap::destroy_detached_pages() {
-  _page_allocator.destroy_detached_pages();
-}
-
 void ZHeap::relocate_start() {
   assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint");
 
@@ -521,11 +523,18 @@
   print_on(st);
   st->cr();
 
+  // Do not allow pages to be deleted
+  _page_allocator.enable_deferred_delete();
+
+  // Print all pages
   ZPageTableIterator iter(&_page_table);
   for (ZPage* page; iter.next(&page);) {
     page->print_on(st);
   }
 
+  // Allow pages to be deleted
+  _page_allocator.enable_deferred_delete();
+
   st->cr();
 }