<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Refactor and cleanup the G1 concurrent thread classes:<br>
     - Pull out a sampling thread class (now ConcurrentG1SampleThread)
    from ConcurrentG1RefineThread.<br>
     - Factor out an abstract base class ConcurrentG1ServiceThread that
    is used by:<br>
        - ConcurrentG1RefineThread<br>
        - ConcurrentG1SampleThread<br>
        - ConcurrentMarkThread<br>
     - Made the handling of the "primary" refinement thread more
    explicit.<br>
     - Updated obsolete and confusing comments<br>
    <br>
    This is tech debt that also will allow disabling concurrent
    refinement (if desired) and also fixes a P4 bug.<br>
    Patch started by Thomas and improved and/or mangled myself.<br>
    <br>
    RFE:
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <a class="issue-link" data-issue-key="JDK-8138920"
      href="https://bugs.openjdk.java.net/browse/JDK-8138920"
      id="key-val" rel="4848143">JDK-8138920</a> Refactor the sampling
    thread from ConcurrentG1RefineThread<br>
    <br>
    Webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~drwhite/8138920/webrev.01/">http://cr.openjdk.java.net/~drwhite/8138920/webrev.01/</a><br>
    <br>
    Testing: jprt<br>
    <br>
    Perf testing: in progress...<br>
    <br>
    <br>
    Thanks!<br>
    <br>
     - Derek<br>
    <br>
    <br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </body>
</html>