// This file contains the three classes that represent the memory // pools of the G1 spaces: G1EdenPool, G1SurvivorPool, and // G1OldGenPool. In G1, unlike our other GCs, we do not have a // physical space for each of those spaces. Instead, we allocate // regions for all three spaces out of a single pool of regions (that // pool basically covers the entire heap). As a result, the eden, // survivor, and old gen are considered logical spaces in G1, as each // is a set of non-contiguous regions. This is also reflected in the // way we map them to memory pools here. The easiest way to have done // this would have been to map the entire G1 heap to a single memory // pool. However, it's helpful to show how large the eden and survivor // get, as this does affect the performance and behavior of G1. Which // is why we introduce the three memory pools implemented here. // // See comments in g1MonitoringSupport.hpp for additional details // on this model. //
class G1CollectedHeap;
// This class is shared by the three G1 memory pool classes // (G1EdenPool, G1SurvivorPool, G1OldGenPool). class G1MemoryPoolSuper : public CollectedMemoryPool { protected:
G1MonitoringSupport* _g1mm;
// Would only be called from subclasses.
G1MemoryPoolSuper(G1CollectedHeap* g1h, constchar* name,
size_t init_size,
size_t max_size, bool support_usage_threshold);
};
// Memory pool that represents the G1 eden. class G1EdenPool : public G1MemoryPoolSuper { public:
G1EdenPool(G1CollectedHeap* g1h, size_t initial_size);
// Memory pool that represents the G1 survivor. class G1SurvivorPool : public G1MemoryPoolSuper { public:
G1SurvivorPool(G1CollectedHeap* g1h, size_t initial_size);
// Memory pool that represents the G1 old gen. class G1OldGenPool : public G1MemoryPoolSuper { public:
G1OldGenPool(G1CollectedHeap* g1h, size_t initial_size, size_t max_size);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.