equal
deleted
inserted
replaced
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
26 #include "gc/parallel/objectStartArray.inline.hpp" |
26 #include "gc/parallel/objectStartArray.inline.hpp" |
27 #include "gc/parallel/parallelScavengeHeap.hpp" |
27 #include "gc/parallel/parallelScavengeHeap.hpp" |
28 #include "gc/parallel/psAdaptiveSizePolicy.hpp" |
28 #include "gc/parallel/psAdaptiveSizePolicy.hpp" |
29 #include "gc/parallel/psCardTable.hpp" |
29 #include "gc/parallel/psCardTable.hpp" |
|
30 #include "gc/parallel/psFileBackedVirtualspace.hpp" |
30 #include "gc/parallel/psMarkSweepDecorator.hpp" |
31 #include "gc/parallel/psMarkSweepDecorator.hpp" |
31 #include "gc/parallel/psOldGen.hpp" |
32 #include "gc/parallel/psOldGen.hpp" |
32 #include "gc/shared/cardTableBarrierSet.hpp" |
33 #include "gc/shared/cardTableBarrierSet.hpp" |
33 #include "gc/shared/gcLocker.hpp" |
34 #include "gc/shared/gcLocker.hpp" |
34 #include "gc/shared/spaceDecorator.hpp" |
35 #include "gc/shared/spaceDecorator.hpp" |
69 initialize_performance_counters(perf_data_name, level); |
70 initialize_performance_counters(perf_data_name, level); |
70 } |
71 } |
71 |
72 |
72 void PSOldGen::initialize_virtual_space(ReservedSpace rs, size_t alignment) { |
73 void PSOldGen::initialize_virtual_space(ReservedSpace rs, size_t alignment) { |
73 |
74 |
74 _virtual_space = new PSVirtualSpace(rs, alignment); |
75 if(ParallelScavengeHeap::heap()->ps_collector_policy()->is_hetero_heap()) { |
|
76 _virtual_space = new PSFileBackedVirtualSpace(rs, alignment, AllocateOldGenAt); |
|
77 if (!(static_cast <PSFileBackedVirtualSpace*>(_virtual_space))->initialize()) { |
|
78 vm_exit_during_initialization("Could not map space for PSOldGen at given AllocateOldGenAt path"); |
|
79 } |
|
80 } else { |
|
81 _virtual_space = new PSVirtualSpace(rs, alignment); |
|
82 } |
75 if (!_virtual_space->expand_by(_init_gen_size)) { |
83 if (!_virtual_space->expand_by(_init_gen_size)) { |
76 vm_exit_during_initialization("Could not reserve enough space for " |
84 vm_exit_during_initialization("Could not reserve enough space for " |
77 "object heap"); |
85 "object heap"); |
78 } |
86 } |
79 } |
87 } |