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