< prev index next >

src/hotspot/share/gc/z/zPageAllocator.hpp

Print this page

        

@@ -54,10 +54,13 @@
   size_t                     _used_low;
   size_t                     _allocated;
   ssize_t                    _reclaimed;
   ZList<ZPageAllocation>     _stalled;
   ZList<ZPageAllocation>     _satisfied;
+  ZConditionLock             _unmap_lock;
+  ZList<ZPage>               _unmap_queue;
+  bool                       _unmap_stop;
   ZConditionLock             _uncommit_lock;
   bool                       _uncommit_enabled;
   bool                       _uncommit_stop;
   mutable ZSafeDelete<ZPage> _safe_delete;
   bool                       _initialized;

@@ -76,10 +79,13 @@
   bool map_page(const ZPage* page) const;
   void unmap_page(const ZPage* page) const;
 
   void destroy_page(ZPage* page);
 
+  void enqueue_unmap_page(ZPage* page);
+  ZPage* dequeue_unmap_page();
+
   bool is_alloc_allowed(size_t size, bool no_reserve) const;
   bool is_alloc_allowed_from_cache(size_t size, bool no_reserve) const;
 
   bool alloc_page_common_inner(uint8_t type, size_t size, bool no_reserve, ZList<ZPage>* pages);
   bool alloc_page_common(ZPageAllocation* allocation);

@@ -117,10 +123,13 @@
   void reset_statistics();
 
   ZPage* alloc_page(uint8_t type, size_t size, ZAllocationFlags flags);
   void free_page(ZPage* page, bool reclaimed);
 
+  void unmap_run();
+  void unmap_stop();
+
   void uncommit_run();
   void uncommit_stop();
 
   void enable_deferred_delete() const;
   void disable_deferred_delete() const;
< prev index next >