< prev index next >
src/hotspot/share/gc/parallel/psOldGen.cpp
Print this page
rev 52004 : webrev.02
@@ -25,10 +25,11 @@
#include "precompiled.hpp"
#include "gc/parallel/objectStartArray.inline.hpp"
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/psAdaptiveSizePolicy.hpp"
#include "gc/parallel/psCardTable.hpp"
+#include "gc/parallel/psFileBackedVirtualspace.hpp"
#include "gc/parallel/psMarkSweepDecorator.hpp"
#include "gc/parallel/psOldGen.hpp"
#include "gc/shared/cardTableBarrierSet.hpp"
#include "gc/shared/gcLocker.hpp"
#include "gc/shared/spaceDecorator.hpp"
@@ -69,11 +70,18 @@
initialize_performance_counters(perf_data_name, level);
}
void PSOldGen::initialize_virtual_space(ReservedSpace rs, size_t alignment) {
+ if(AllocateOldGenAt != NULL) {
+ _virtual_space = new PSFileBackedVirtualSpace(rs, alignment, AllocateOldGenAt);
+ if (!(static_cast <PSFileBackedVirtualSpace*>(_virtual_space))->initialize()) {
+ vm_exit_during_initialization("Could not map space for PSOldGen at given AllocateOldGenAt path");
+ }
+ } else {
_virtual_space = new PSVirtualSpace(rs, alignment);
+ }
if (!_virtual_space->expand_by(_init_gen_size)) {
vm_exit_during_initialization("Could not reserve enough space for "
"object heap");
}
}
< prev index next >