19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 #ifndef SHARE_GC_Z_ZPAGEALLOCATOR_HPP 25 #define SHARE_GC_Z_ZPAGEALLOCATOR_HPP 26 27 #include "gc/z/zAllocationFlags.hpp" 28 #include "gc/z/zList.hpp" 29 #include "gc/z/zLock.hpp" 30 #include "gc/z/zPageCache.hpp" 31 #include "gc/z/zPhysicalMemory.hpp" 32 #include "gc/z/zPreMappedMemory.hpp" 33 #include "gc/z/zVirtualMemory.hpp" 34 #include "memory/allocation.hpp" 35 36 class ZPageAllocRequest; 37 38 class ZPageAllocator VALUE_OBJ_CLASS_SPEC { 39 private: 40 ZLock _lock; 41 ZVirtualMemoryManager _virtual; 42 ZPhysicalMemoryManager _physical; 43 ZPageCache _cache; 44 ZPreMappedMemory _pre_mapped; 45 const size_t _max_reserve; 46 size_t _used_high; 47 size_t _used_low; 48 size_t _used; 49 size_t _allocated; 50 ssize_t _reclaimed; 51 ZList<ZPageAllocRequest> _queue; 52 ZList<ZPage> _detached; 53 54 static ZPage* const gc_marker; 55 56 void increase_used(size_t size, bool relocation); 57 void decrease_used(size_t size, bool reclaimed); 58 | 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 #ifndef SHARE_GC_Z_ZPAGEALLOCATOR_HPP 25 #define SHARE_GC_Z_ZPAGEALLOCATOR_HPP 26 27 #include "gc/z/zAllocationFlags.hpp" 28 #include "gc/z/zList.hpp" 29 #include "gc/z/zLock.hpp" 30 #include "gc/z/zPageCache.hpp" 31 #include "gc/z/zPhysicalMemory.hpp" 32 #include "gc/z/zPreMappedMemory.hpp" 33 #include "gc/z/zVirtualMemory.hpp" 34 #include "memory/allocation.hpp" 35 36 class ZPageAllocRequest; 37 38 class ZPageAllocator VALUE_OBJ_CLASS_SPEC { 39 friend class VMStructs; 40 41 private: 42 ZLock _lock; 43 ZVirtualMemoryManager _virtual; 44 ZPhysicalMemoryManager _physical; 45 ZPageCache _cache; 46 ZPreMappedMemory _pre_mapped; 47 const size_t _max_reserve; 48 size_t _used_high; 49 size_t _used_low; 50 size_t _used; 51 size_t _allocated; 52 ssize_t _reclaimed; 53 ZList<ZPageAllocRequest> _queue; 54 ZList<ZPage> _detached; 55 56 static ZPage* const gc_marker; 57 58 void increase_used(size_t size, bool relocation); 59 void decrease_used(size_t size, bool reclaimed); 60 |