1.1 --- a/src/share/vm/gc_implementation/g1/g1ParScanThreadState.cpp Thu Aug 07 18:09:12 2014 -0700 1.2 +++ b/src/share/vm/gc_implementation/g1/g1ParScanThreadState.cpp Mon Aug 04 10:48:10 2014 -0700 1.3 @@ -288,7 +288,12 @@ 1.4 } 1.5 1.6 HeapWord* G1ParScanThreadState::allocate(GCAllocPurpose purpose, size_t word_sz) { 1.7 - HeapWord* obj = alloc_buffer(purpose)->allocate(word_sz); 1.8 + HeapWord* obj = NULL; 1.9 + if (purpose == GCAllocForSurvived) { 1.10 + obj = alloc_buffer(GCAllocForSurvived)->allocate_aligned(word_sz, SurvivorAlignmentInBytes); 1.11 + } else { 1.12 + obj = alloc_buffer(GCAllocForTenured)->allocate(word_sz); 1.13 + } 1.14 if (obj != NULL) { 1.15 return obj; 1.16 }