55 uintptr_t alloc_object(size_t size, ZAllocationFlags flags);
56
57 bool undo_alloc_large_object(ZPage* page);
58 bool undo_alloc_medium_object(ZPage* page, uintptr_t addr, size_t size);
59 bool undo_alloc_small_object_from_nonworker(ZPage* page, uintptr_t addr, size_t size);
60 bool undo_alloc_small_object_from_worker(ZPage* page, uintptr_t addr, size_t size);
61 bool undo_alloc_small_object(ZPage* page, uintptr_t addr, size_t size);
62 bool undo_alloc_object(ZPage* page, uintptr_t addr, size_t size);
63
64 public:
65 ZObjectAllocator(uint nworkers);
66
67 uintptr_t alloc_object(size_t size);
68
69 uintptr_t alloc_object_for_relocation(size_t size);
70 void undo_alloc_object_for_relocation(ZPage* page, uintptr_t addr, size_t size);
71
72 size_t used() const;
73 size_t remaining() const;
74
75 void retire_tlabs();
76 void remap_tlabs();
77 };
78
79 #endif // SHARE_GC_Z_ZOBJECTALLOCATOR_HPP
|
55 uintptr_t alloc_object(size_t size, ZAllocationFlags flags);
56
57 bool undo_alloc_large_object(ZPage* page);
58 bool undo_alloc_medium_object(ZPage* page, uintptr_t addr, size_t size);
59 bool undo_alloc_small_object_from_nonworker(ZPage* page, uintptr_t addr, size_t size);
60 bool undo_alloc_small_object_from_worker(ZPage* page, uintptr_t addr, size_t size);
61 bool undo_alloc_small_object(ZPage* page, uintptr_t addr, size_t size);
62 bool undo_alloc_object(ZPage* page, uintptr_t addr, size_t size);
63
64 public:
65 ZObjectAllocator(uint nworkers);
66
67 uintptr_t alloc_object(size_t size);
68
69 uintptr_t alloc_object_for_relocation(size_t size);
70 void undo_alloc_object_for_relocation(ZPage* page, uintptr_t addr, size_t size);
71
72 size_t used() const;
73 size_t remaining() const;
74
75 void retire_pages();
76 };
77
78 #endif // SHARE_GC_Z_ZOBJECTALLOCATOR_HPP
|