src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp	Fri Oct 25 15:32:41 2013
--- new/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp	Fri Oct 25 15:32:41 2013

*** 23,46 **** --- 23,46 ---- */ #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP + #include "gc_implementation/parallelScavenge/generationSizer.hpp" #include "gc_implementation/parallelScavenge/objectStartArray.hpp" #include "gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp" #include "gc_implementation/parallelScavenge/psOldGen.hpp" #include "gc_implementation/parallelScavenge/psYoungGen.hpp" #include "gc_implementation/shared/gcPolicyCounters.hpp" #include "gc_implementation/shared/gcWhen.hpp" #include "gc_interface/collectedHeap.inline.hpp" + #include "memory/collectorPolicy.hpp" #include "utilities/ostream.hpp" class AdjoiningGenerations; class GCHeapSummary; class GCTaskManager; class GenerationSizer; class CollectorPolicy; class PSAdaptiveSizePolicy; class PSHeapSummary; class ParallelScavengeHeap : public CollectedHeap { friend class VMStructs;
*** 52,68 **** --- 52,63 ---- static PSAdaptiveSizePolicy* _size_policy; static PSGCAdaptivePolicyCounters* _gc_policy_counters; static ParallelScavengeHeap* _psh; size_t _young_gen_alignment; size_t _old_gen_alignment; GenerationSizer* _collector_policy; inline size_t set_alignment(size_t& var, size_t val); // Collection of generations that are adjacent in the // space reserved for the heap. AdjoiningGenerations* _gens; unsigned int _death_march_count;
*** 78,96 **** --- 73,83 ---- inline bool should_alloc_in_eden(size_t size) const; inline void death_march_check(HeapWord* const result, size_t size); HeapWord* mem_allocate_old_gen(size_t size); public: ! ParallelScavengeHeap() : CollectedHeap(), _death_march_count(0) { } set_alignment(_young_gen_alignment, intra_heap_alignment()); set_alignment(_old_gen_alignment, intra_heap_alignment()); } // Return the (conservative) maximum heap alignment static size_t conservative_max_heap_alignment() { return GenCollectorPolicy::intra_heap_alignment(); } // For use by VM operations enum CollectionType { Scavenge, MarkSweep
*** 118,134 **** --- 105,123 ---- // Returns JNI_OK on success virtual jint initialize(); void post_initialize(); void update_counters(); // The alignment used for the various generations. size_t young_gen_alignment() const { return _young_gen_alignment; } ! size_t old_gen_alignment() const { return _old_gen_alignment; } // The alignment used for eden and survivors within the young gen // and for boundary between young gen and old gen. ! size_t intra_heap_alignment() { return GenCollectorPolicy::intra_heap_alignment(); } + + // The alignment used for the various areas ! size_t space_alignment() { return _collector_policy->space_alignment(); } + size_t generation_alignment() { return _collector_policy->gen_alignment(); } + + // Return the (conservative) maximum heap alignment ! static size_t conservative_max_heap_alignment() { + return CollectorPolicy::compute_heap_alignment(); + } size_t capacity() const; size_t used() const; // Return "true" if all generations have reached the
*** 259,271 **** --- 248,253 ---- ParStrongRootsScope(); ~ParStrongRootsScope(); }; }; inline size_t ParallelScavengeHeap::set_alignment(size_t& var, size_t val) { assert(is_power_of_2((intptr_t)val), "must be a power of 2"); var = round_to(val, intra_heap_alignment()); return var; } #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP

src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File