--- old/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp 2013-09-30 21:53:56.000000000 +0200 +++ new/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp 2013-09-30 21:53:56.000000000 +0200 @@ -55,13 +55,11 @@ static ParallelScavengeHeap* _psh; - size_t _young_gen_alignment; - size_t _old_gen_alignment; + // Actual alignment for generation sizes. + size_t 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; @@ -80,15 +78,12 @@ 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()); + ParallelScavengeHeap() : CollectedHeap(), _death_march_count(0) { } // Return the (conservative) maximum heap alignment static size_t conservative_max_heap_alignment() { - return intra_heap_alignment(); + return GenCollectorPolicy::intra_heap_alignment(); } // For use by VM operations @@ -122,12 +117,12 @@ 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; } + size_t young_gen_alignment() { return alignment(); } + size_t old_gen_alignment() { return alignment(); } // The alignment used for eden and survivors within the young gen // and for boundary between young gen and old gen. - static size_t intra_heap_alignment() { return 64 * K * HeapWordSize; } + size_t intra_heap_alignment(); size_t capacity() const; size_t used() const; @@ -263,11 +258,4 @@ }; }; -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