--- a/src/hotspot/share/gc/z/zPage.hpp Mon Mar 18 11:50:39 2019 +0100
+++ b/src/hotspot/share/gc/z/zPage.hpp Mon Mar 18 11:50:39 2019 +0100
@@ -24,7 +24,6 @@
#ifndef SHARE_GC_Z_ZPAGE_HPP
#define SHARE_GC_Z_ZPAGE_HPP
-#include "gc/z/zForwardingTable.hpp"
#include "gc/z/zList.hpp"
#include "gc/z/zLiveMap.hpp"
#include "gc/z/zPhysicalMemory.hpp"
@@ -38,7 +37,7 @@
private:
// Always hot
const uint8_t _type; // Page type
- volatile uint8_t _pinned; // Pinned flag
+ volatile uint8_t _active; // Active flag
uint8_t _numa_id; // NUMA node affinity
uint32_t _seqnum; // Allocation sequence number
const ZVirtualMemory _virtual; // Virtual start/end address
@@ -46,13 +45,10 @@
ZLiveMap _livemap; // Live map
// Hot when relocated and cached
- volatile uint32_t _refcount; // Page reference count
- ZForwardingTable _forwarding; // Forwarding table
ZPhysicalMemory _physical; // Physical memory for page
ZListNode<ZPage> _node; // Page list node
const char* type_to_string() const;
- uint32_t object_max_count() const;
bool is_object_marked(uintptr_t addr) const;
bool is_object_strongly_marked(uintptr_t addr) const;
@@ -61,6 +57,7 @@
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;
@@ -78,15 +75,14 @@
void reset();
- bool inc_refcount();
- bool dec_refcount();
-
bool is_in(uintptr_t addr) const;
uintptr_t block_start(uintptr_t addr) const;
bool block_is_obj(uintptr_t addr) const;
bool is_active() const;
+ void set_inactive();
+
bool is_allocating() const;
bool is_relocatable() const;
bool is_detached() const;
@@ -94,23 +90,13 @@
bool is_mapped() const;
void set_pre_mapped();
- bool is_pinned() const;
- void set_pinned();
-
- bool is_forwarding() const;
- void set_forwarding();
- void reset_forwarding();
- ZForwardingTableEntry find_forwarding(uintptr_t from_index);
- ZForwardingTableEntry find_forwarding(uintptr_t from_index, ZForwardingTableCursor* cursor);
- uintptr_t insert_forwarding(uintptr_t from_index, uintptr_t to_offset, ZForwardingTableCursor* cursor);
- void verify_forwarding() const;
-
bool is_marked() const;
bool is_object_live(uintptr_t addr) const;
bool is_object_strongly_live(uintptr_t addr) const;
bool mark_object(uintptr_t addr, bool finalizable, bool& inc_live);
void inc_live_atomic(uint32_t objects, size_t bytes);
+ uint32_t live_objects() const;
size_t live_bytes() const;
void object_iterate(ObjectClosure* cl);