< prev index next >
src/hotspot/share/gc/z/zPage.hpp
Print this page
*** 33,62 ****
class ZPage : public CHeapObj<mtGC> {
friend class VMStructs;
friend class ZList<ZPage>;
private:
! // Always hot
! const uint8_t _type; // Page type
! uint8_t _numa_id; // NUMA node affinity
! uint32_t _seqnum; // Allocation sequence number
! const ZVirtualMemory _virtual; // Virtual start/end address
! volatile uintptr_t _top; // Virtual top address
! ZLiveMap _livemap; // Live map
!
! // Hot when relocated and cached
! ZPhysicalMemory _physical; // Physical memory for page
! ZListNode<ZPage> _node; // Page list node
const char* type_to_string() const;
bool is_object_marked(uintptr_t addr) const;
bool is_object_strongly_marked(uintptr_t addr) const;
public:
! ZPage(uint8_t type, ZVirtualMemory vmem, ZPhysicalMemory pmem);
! ~ZPage();
uint32_t object_max_count() const;
size_t object_alignment_shift() const;
size_t object_alignment() const;
--- 33,63 ----
class ZPage : public CHeapObj<mtGC> {
friend class VMStructs;
friend class ZList<ZPage>;
private:
! uint8_t _type;
! uint8_t _numa_id;
! uint32_t _seqnum;
! ZVirtualMemory _virtual;
! volatile uintptr_t _top;
! ZLiveMap _livemap;
! uint64_t _last_used;
! ZPhysicalMemory _physical;
! ZListNode<ZPage> _node;
+ void assert_initialized() const;
+
+ uint8_t type_from_size(size_t size) const;
const char* type_to_string() const;
bool is_object_marked(uintptr_t addr) const;
bool is_object_strongly_marked(uintptr_t addr) const;
public:
! ZPage(const ZVirtualMemory& vmem, const ZPhysicalMemory& pmem);
! ZPage(uint8_t type, const ZVirtualMemory& vmem, const ZPhysicalMemory& pmem);
uint32_t object_max_count() const;
size_t object_alignment_shift() const;
size_t object_alignment() const;
*** 67,81 ****
uintptr_t top() const;
size_t remaining() const;
uint8_t numa_id();
! ZPhysicalMemory& physical_memory();
const ZVirtualMemory& virtual_memory() const;
void reset();
bool is_in(uintptr_t addr) const;
uintptr_t block_start(uintptr_t addr) const;
bool block_is_obj(uintptr_t addr) const;
--- 68,89 ----
uintptr_t top() const;
size_t remaining() const;
uint8_t numa_id();
! uint64_t last_used() const;
! void set_last_used();
!
! const ZPhysicalMemory& physical_memory() const;
const ZVirtualMemory& virtual_memory() const;
void reset();
+ ZPage* retype(uint8_t type);
+ ZPage* split(size_t size);
+ ZPage* split(uint8_t type, size_t size);
+
bool is_in(uintptr_t addr) const;
uintptr_t block_start(uintptr_t addr) const;
bool block_is_obj(uintptr_t addr) const;
< prev index next >