33 uintptr_t _start;
34 uintptr_t _end;
35
36 public:
37 ZVirtualMemory();
38 ZVirtualMemory(uintptr_t start, size_t size);
39
40 bool is_null() const;
41 uintptr_t start() const;
42 uintptr_t end() const;
43 size_t size() const;
44
45 ZVirtualMemory split(size_t size);
46 };
47
48 class ZVirtualMemoryManager {
49 private:
50 ZMemoryManager _manager;
51 bool _initialized;
52
53 bool reserve(uintptr_t start, size_t size);
54 void nmt_reserve(uintptr_t start, size_t size);
55
56 public:
57 ZVirtualMemoryManager();
58
59 bool is_initialized() const;
60
61 ZVirtualMemory alloc(size_t size, bool alloc_from_front = false);
62 void free(const ZVirtualMemory& vmem);
63 };
64
65 #endif // SHARE_GC_Z_ZVIRTUALMEMORY_HPP
|
33 uintptr_t _start;
34 uintptr_t _end;
35
36 public:
37 ZVirtualMemory();
38 ZVirtualMemory(uintptr_t start, size_t size);
39
40 bool is_null() const;
41 uintptr_t start() const;
42 uintptr_t end() const;
43 size_t size() const;
44
45 ZVirtualMemory split(size_t size);
46 };
47
48 class ZVirtualMemoryManager {
49 private:
50 ZMemoryManager _manager;
51 bool _initialized;
52
53 bool reserve_range(uintptr_t start, size_t size);
54 size_t reserve(uintptr_t start, size_t size);
55
56 public:
57 ZVirtualMemoryManager();
58
59 bool is_initialized() const;
60
61 ZVirtualMemory alloc(size_t size, bool alloc_from_front = false);
62 void free(const ZVirtualMemory& vmem);
63 };
64
65 #endif // SHARE_GC_Z_ZVIRTUALMEMORY_HPP
|