<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Azeem,<br>
    <br>
    Thanks for looking at the code. We don't need a closing quote
    because SIZE_FORMAT is a macro already - what it expands to provides
    the closing quote, e.g.:<br>
    <br>
    <tt>#define SIZE_FORMAT        "%" PRIuPTR</tt><br>
    <br>
    and:<br>
    <br>
    <tt>#define PRIuPTR                 "u"</tt><br>
    <br>
    The definition of ergo_format_bytes above gets the closing quote
    from the " bytes" string.<br>
    <br>
    Thanks,<br>
    <br>
    JohnC<br>
    <br>
    On 7/24/2012 3:36 PM, Azeem Jiva wrote:
    <blockquote cite="mid:500F236C.7070801@oracle.com" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <div class="moz-cite-prefix"><font face="Verdana">John,<br>
            Looks mostly good, but shouldn't the #define in
          g1ErgoVerbose.hpp have a closing quote(")?<br>
        </font>
        <pre class="moz-signature" cols="72">Azeem Jiva
@javawithjiva</pre>
        On 07/24/2012 01:15 PM, John Cuthbertson wrote:<br>
      </div>
      <blockquote cite="mid:500EE63F.2020001@oracle.com" type="cite">Hi
        Everyone, <br>
        <br>
        Can I have a couple of volunteers to review the changes for this
        CR? The webrev can be found at: <a moz-do-not-send="true"
          class="moz-txt-link-freetext"
          href="http://cr.openjdk.java.net/%7Ejohnc/7185699/webrev.0/">http://cr.openjdk.java.net/~johnc/7185699/webrev.0/</a>.
        <br>
        <br>
        Background: <br>
        While I was going through the code for the current mixed GC
        policy and the code that adds non-young regions to the
        collection set, I found a couple of minor bugs associated with
        the prediction code. The first was the calculation of the number
        of unprocessed dirty card at the start of the GC - this was
        using routines that return a number of bytes rather than the
        number of entries. As a result we were vastly overestimating the
        base pause time. The second was in the code that calculates the
        GC efficiency of a non-young region. The GC efficiency of a
        region is calculated at the end of marking. The code, however,
        was using the wrong routine to predict the number of cards for a
        given RSet length. It was using the data collected for young GCs
        when it should have been using the data collected for mixed GCs.
        <br>
        <br>
        The other changes are minor cleanups. These help to slightly
        increase the amount of inlining with the Solaris Studio compiler
        and save an iteration over the collection set. <br>
        <br>
        Testing: <br>
        Dacapo2006 with Ergonomic output enabled; Dacapo2006 with
        PrintLivenessInfo enabled (before and after); GC test suite with
        verification; jprt. <br>
        <br>
        Thanks, <br>
        <br>
        JohnC <br>
      </blockquote>
      <br>
    </blockquote>
  </body>
</html>