< prev index next >
src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp
Print this page
rev 48000 : [mq]: open.patch
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -34,15 +34,18 @@
#include "gc/shared/collectorPolicy.hpp"
#include "gc/shared/gcPolicyCounters.hpp"
#include "gc/shared/gcWhen.hpp"
#include "gc/shared/strongRootsScope.hpp"
#include "memory/metaspace.hpp"
+#include "utilities/growableArray.hpp"
#include "utilities/ostream.hpp"
class AdjoiningGenerations;
class GCHeapSummary;
class GCTaskManager;
+class MemoryManager;
+class MemoryPool;
class PSAdaptiveSizePolicy;
class PSHeapSummary;
class ParallelScavengeHeap : public CollectedHeap {
friend class VMStructs;
@@ -62,10 +65,17 @@
unsigned int _death_march_count;
// The task manager
static GCTaskManager* _gc_task_manager;
+ GCMemoryManager* _young_manager;
+ GCMemoryManager* _old_manager;
+
+ MemoryPool* _eden_pool;
+ MemoryPool* _survivor_pool;
+ MemoryPool* _old_pool;
+
void trace_heap(GCWhen::Type when, const GCTracer* tracer);
protected:
static inline size_t total_invocations();
HeapWord* allocate_new_tlab(size_t size);
@@ -92,10 +102,13 @@
return "Parallel";
}
virtual CollectorPolicy* collector_policy() const { return _collector_policy; }
+ virtual GrowableArray<GCMemoryManager*> memory_managers();
+ virtual GrowableArray<MemoryPool*> memory_pools();
+
static PSYoungGen* young_gen() { return _young_gen; }
static PSOldGen* old_gen() { return _old_gen; }
virtual PSAdaptiveSizePolicy* size_policy() { return _size_policy; }
@@ -242,10 +255,13 @@
class ParStrongRootsScope : public MarkScope {
public:
ParStrongRootsScope();
~ParStrongRootsScope();
};
+
+ GCMemoryManager* old_gc_manager() const { return _old_manager; }
+ GCMemoryManager* young_gc_manager() const { return _young_manager; }
};
// Simple class for storing info about the heap at the start of GC, to be used
// after GC for comparison/printing.
class PreGCValues {
< prev index next >