Mercurial > hg > truffle
diff src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp @ 20317:ee019285a52c
8031323: Optionally align objects copied to survivor spaces
Reviewed-by: brutisso, tschatzl
author | jmasa |
---|---|
date | Mon, 04 Aug 2014 10:48:10 -0700 |
parents | b9a9ed0f8eeb |
children | 7848fc12602b |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp Thu Aug 07 18:09:12 2014 -0700 +++ b/src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp Mon Aug 04 10:48:10 2014 -0700 @@ -26,6 +26,7 @@ #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONLAB_HPP #include "gc_implementation/parallelScavenge/objectStartArray.hpp" +#include "gc_interface/collectedHeap.inline.hpp" #include "memory/allocation.hpp" // @@ -94,23 +95,9 @@ PSYoungPromotionLAB() { } // Not MT safe - HeapWord* allocate(size_t size) { - // Can't assert this, when young fills, we keep the LAB around, but flushed. - // assert(_state != flushed, "Sanity"); - HeapWord* obj = top(); - HeapWord* new_top = obj + size; - // The 'new_top>obj' check is needed to detect overflow of obj+size. - if (new_top > obj && new_top <= end()) { - set_top(new_top); - assert(is_object_aligned((intptr_t)obj) && is_object_aligned((intptr_t)new_top), - "checking alignment"); - return obj; - } + inline HeapWord* allocate(size_t size); - return NULL; - } - - debug_only(virtual bool lab_is_valid(MemRegion lab)); + debug_only(virtual bool lab_is_valid(MemRegion lab);) }; class PSOldPromotionLAB : public PSPromotionLAB {