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
|