<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><br>
    </div>
    <blockquote type="cite"
      cite="mid:0b96508f-2522-5b93-a271-9fd18aaeda28@redhat.com">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <p>The SuspendibleThreadSet API for synchronizing any non-Java
        thread with safepoints currently resides under gc/g1. It is very
        useful for other GCs too (in particular, Shenandoah does use it
        too), so I wanted to move it to a common location like
        gc/common. Then Kim Barrett commented that it might actually be
        useful for other threads outside GC land and to put it under
        runtime/. So I did:</p>
      <p><a moz-do-not-send="true"
          href="http://cr.openjdk.java.net/%7Erkennke/8189276/webrev.00/">http://cr.openjdk.java.net/~rkennke/8189276/webrev.00/</a></p>
      <p>I also added a generic hook to call the STS from safepoint
        sync/desync, which is consequently used by G1 now. In other
        words, the CollectedHeap API that Erik Ö introduced is no longer
        used by G1. Only CMS still uses that API because it has its own
        way to sync with safepoints. I filed <a moz-do-not-send="true"
          href="https://bugs.openjdk.java.net/browse/JDK-8189364">another
          bug</a> for this. Although I have my doubt it will ever be
        fixed. This seems to have been very carefully evolved (to put it
        positive), and the risk of breaking it is relatively high, and
        thus doesn't seem worth the struggle to make it fit the STS.<br>
      </p>
      <p>Issue:<br>
        <a moz-do-not-send="true"
          href="https://bugs.openjdk.java.net/browse/JDK-8189276">https://bugs.openjdk.java.net/browse/JDK-8189276</a></p>
      <p>What do you think? Ok to go in?</p>
    </blockquote>
    Replying to myself here.<br>
    I must admit that I am a bit reluctant to expose it to runtime/
    unless there's a specific need for it. So maybe go back to the
    original plan to move it into gc/common and leave all the rest alone
    for now? What do others think?<br>
    <br>
    Roman<br>
  </body>
</html>