<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    please review the following patch that fixes JDK-8056067.<br>
    <br>
    Bug: <a class="moz-txt-link-freetext"
      href="https://bugs.openjdk.java.net/browse/JDK-8056067">https://bugs.openjdk.java.net/browse/JDK-8056067</a><br>
    Webrev: <a class="moz-txt-link-freetext"
      href="http://cr.openjdk.java.net/%7Ethartmann/8056067/webrev.00/">http://cr.openjdk.java.net/~thartmann/8056067/webrev.00/</a><br>
    <br>
    Problem:<br>
    Some members of NodeHash are only needed in debug/optimized builds
    but are also available in product. For example, '_grows' is
    incremented in 'NodeHash::grow' but only accessed for debugging in
    NodeHash::dump(). Other members like '_look_probes' are only
    maintained in debug and therefore contain no information in product
    and optimized (see [1]).<br>
    <br>
    Solution:<br>
    Make variables only available in debug/optimized.<br>
    <br>
    Testing:<br>
    - Checked output of 'java
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    -XX:+PrintCompilation -XX:+PrintOptoStatistics -XX:+Verbose' with
    fastdebug, optimized and product build<br>
    - JPRT<br>
    <br>
    Thanks,<br>
    Tobias<br>
    <br>
    <br>
    [1]<br>
    Output of java -XX:+PrintCompilation -XX:+PrintOptoStatistics
    -XX:+Verbose <br>
    <br>
    fastdebug build: <br>
    GVN Hash stats: 0 grows to 512 max_size <br>
      28/512 ( 5.5% full) <br>
      30p/(0h+36m) ( 0.83 probes/lookup) <br>
      0p/28i ( 0.00 probes/insert) <br>
    <br>
    optimized build: <br>
    GVN Hash stats: 0 grows to 512 max_size <br>
      28/512 ( 5.5% full) <br>
      0p/(0h+0m) ( -nan probes/lookup) <br>
      0p/28i ( 0.00 probes/insert) <br>
    <br>
    The third line of the output shows wrong values with the optimized
    build.<br>
    <br>
  </body>
</html>