8061259: ParNew promotion failed is serialized on a lock

Fri, 16 Jan 2015 09:40:13 +0100

author
brutisso
date
Fri, 16 Jan 2015 09:40:13 +0100
changeset 7769
713dfbf84b10
parent 7768
0643c076b6c3
child 7770
6f31df24cec0

8061259: ParNew promotion failed is serialized on a lock
Reviewed-by: kbarrett, brutisso
Contributed-by: jwha@google.com

src/share/vm/gc_implementation/parNew/parNewGeneration.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Tue Apr 14 19:45:47 2015 +0000
     1.2 +++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Fri Jan 16 09:40:13 2015 +0100
     1.3 @@ -1197,8 +1197,10 @@
     1.4          return real_forwardee(old);
     1.5      }
     1.6  
     1.7 -    new_obj = _next_gen->par_promote(par_scan_state->thread_num(),
     1.8 -                                       old, m, sz);
     1.9 +    if (!_promotion_failed) {
    1.10 +      new_obj = _next_gen->par_promote(par_scan_state->thread_num(),
    1.11 +                                        old, m, sz);
    1.12 +    }
    1.13  
    1.14      if (new_obj == NULL) {
    1.15        // promotion failed, forward to self

mercurial