< prev index next >
src/hotspot/share/gc/serial/serialHeap.cpp
Print this page
rev 47972 : [mq]: open.patch
*** 21,35 ****
* questions.
*
*/
#include "precompiled.hpp"
#include "gc/serial/serialHeap.hpp"
! SerialHeap::SerialHeap(GenCollectorPolicy* policy) : GenCollectedHeap(policy) {}
void SerialHeap::check_gen_kinds() {
assert(young_gen()->kind() == Generation::DefNew,
"Wrong youngest generation type");
assert(old_gen()->kind() == Generation::MarkSweepCompact,
"Wrong generation kind");
}
--- 21,85 ----
* questions.
*
*/
#include "precompiled.hpp"
+ #include "gc/serial/defNewGeneration.hpp"
#include "gc/serial/serialHeap.hpp"
+ #include "gc/shared/genMemoryPools.hpp"
+ #include "services/memoryManager.hpp"
! SerialHeap::SerialHeap(GenCollectorPolicy* policy) :
! GenCollectedHeap(policy), _eden_pool(NULL), _survivor_pool(NULL), _old_pool(NULL) {
! _young_mgr = new GCMemoryManager("Copy", "end of minor GC");
! _old_mgr = new GCMemoryManager("MarkSweepCompact", "end of major GC");
! }
!
! jint SerialHeap::initialize() {
! jint status = GenCollectedHeap::initialize();
! if (status != JNI_OK) return status;
!
! DefNewGeneration* young = (DefNewGeneration*) young_gen();
!
! // Add a memory pool for each space and young gen doesn't
! // support low memory detection as it is expected to get filled up.
! _eden_pool = new ContiguousSpacePool(young->eden(),
! "Eden Space",
! young->max_eden_size(),
! false /* support_usage_threshold */);
! _survivor_pool = new SurvivorContiguousSpacePool(young,
! "Survivor Space",
! young->max_survivor_size(),
! false /* support_usage_threshold */);
! _old_pool = new GenerationPool(old_gen(), "Tenured Gen", true);
!
! _young_mgr->add_pool(_eden_pool);
! _young_mgr->add_pool(_survivor_pool);
!
! _old_mgr->add_pool(_eden_pool);
! _old_mgr->add_pool(_survivor_pool);
! _old_mgr->add_pool(_old_pool);
!
! return JNI_OK;
! }
void SerialHeap::check_gen_kinds() {
assert(young_gen()->kind() == Generation::DefNew,
"Wrong youngest generation type");
assert(old_gen()->kind() == Generation::MarkSweepCompact,
"Wrong generation kind");
}
+
+ GrowableArray<GCMemoryManager*> SerialHeap::memory_managers() {
+ GrowableArray<GCMemoryManager*> memory_managers(2);
+ memory_managers.append(_young_mgr);
+ memory_managers.append(_old_mgr);
+ return memory_managers;
+ }
+
+ GrowableArray<MemoryPool*> SerialHeap::memory_pools() {
+ GrowableArray<MemoryPool*> memory_pools(3);
+ memory_pools.append(_eden_pool);
+ memory_pools.append(_survivor_pool);
+ memory_pools.append(_old_pool);
+ return memory_pools;
+ }
< prev index next >