6642634: Test nsk/regression/b6186200 crashed with SIGSEGV

Thu, 21 Feb 2008 11:03:54 -0800

author
ysr
date
Thu, 21 Feb 2008 11:03:54 -0800
changeset 444
173195ff483a
parent 443
762905818571
child 445
28372612af5e

6642634: Test nsk/regression/b6186200 crashed with SIGSEGV
Summary: Use correct allocation path in expand_and_allocate() so object's mark and p-bits are set as appropriate.
Reviewed-by: jmasa, pbk

src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Wed Feb 20 08:40:31 2008 -0800
     1.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Thu Feb 21 11:03:54 2008 -0800
     1.3 @@ -3121,12 +3121,7 @@
     1.4    if (GCExpandToAllocateDelayMillis > 0) {
     1.5      os::sleep(Thread::current(), GCExpandToAllocateDelayMillis, false);
     1.6    }
     1.7 -  size_t adj_word_sz = CompactibleFreeListSpace::adjustObjectSize(word_size);
     1.8 -  if (parallel) {
     1.9 -    return cmsSpace()->par_allocate(adj_word_sz);
    1.10 -  } else {
    1.11 -    return cmsSpace()->allocate(adj_word_sz);
    1.12 -  }
    1.13 +  return have_lock_and_allocate(word_size, tlab);
    1.14  }
    1.15  
    1.16  // YSR: All of this generation expansion/shrinking stuff is an exact copy of

mercurial