<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 8/14/13 4:04 PM, Bengt Rutisson
      wrote:<br>
    </div>
    <blockquote cite="mid:520B8E64.4090704@oracle.com" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <br>
      Hi all,<br>
      <br>
      Erik discovered a bug with the change for JDK-8023013 that I just
      pushed. With my change we will do some unnecessary clearing of the
      card table.<br>
      <br>
      Here's a webrev to fix that:<br>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://cr.openjdk.java.net/%7Ebrutisso/8023021/webrev.00/">http://cr.openjdk.java.net/~brutisso/8023021/webrev.00/</a><br>
    </blockquote>
    <br>
    Looks good to me.<br>
    <br>
    StefanK<br>
    <blockquote cite="mid:520B8E64.4090704@oracle.com" type="cite"> <br>
      Thanks Erik for finding this!<br>
      <br>
      From the bug report:<br>
      <br>
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      The fix for JDK-8023013 "Use specific generations rather than
      generation iteration" introduced unnecessary clearing of the card
      table. <br>
      <br>
      This loop (which existed both in CardTableRS::clear_into_younger()
      and CardTableRS::invalidate_or_clear()): <br>
      <br>
        Generation* g = gen; <br>
        for(Generation* prev_gen = gch->prev_gen(g); prev_gen !=
      NULL; <br>
            g = prev_gen, prev_gen = gch->prev_gen(g)) { <br>
          … <br>
        } <br>
      <br>
      was translated in to one call for the old generation and one for
      the young generation. But this is wrong. The loop is actually not
      a loop when we only have two generations. These methods are only
      called with gen being the old generation, so the translation
      should be to only do one call to the old generation. No work
      should be done for the young generation. <br>
      <br>
      <br>
      Thanks,<br>
      Bengt<br>
    </blockquote>
    <br>
  </body>
</html>