<div dir="ltr">I agree with not having a flag. It seems like an obvious improvement.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 15, 2015 at 1:58 PM, Kim Barrett <span dir="ltr"><<a href="mailto:kim.barrett@oracle.com" target="_blank">kim.barrett@oracle.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Jan 15, 2015, at 12:00 PM, Jungwoo Ha <<a href="mailto:jwha@google.com">jwha@google.com</a>> wrote:<br>
><br>
> Apparently, my memory's been swapped out. I meant to use _promotion_failed field.<br>
><br>
> diff -r a184ee1d7172 src/share/vm/gc_implementation/parNew/parNewGeneration.cpp<br>
> --- a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp      Thu Jan 08 12:08:22 2015 -0800<br>
> +++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp      Thu Jan 15 09:00:05 2015 -0800<br>
> @@ -1194,8 +1194,10 @@<br>
>          return real_forwardee(old);<br>
>      }<br>
><br>
> -    new_obj = _next_gen->par_promote(par_scan_state->thread_num(),<br>
> -                                       old, m, sz);<br>
> +    if (!_promotion_failed) {<br>
> +      new_obj = _next_gen->par_promote(par_scan_state->thread_num(),<br>
> +                                        old, m, sz);<br>
> +    }<br>
><br>
>      if (new_obj == NULL) {<br>
>        // promotion failed, forward to self<br>
<br>
</div></div>Yes, this looks right.<br>
<br>
Bengt mentioned protection with a flag from the original proposed change.  I’m not sure there’s a need for a new flag for this version of the change.<br>
<br>
</blockquote></div><br></div>