<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Poonam,<div class=""><br class=""></div><div class="">Just out of curiosity, does this fix exactly the same problem for G1? I found the other day that it currently does not respect -Xnoclassgc and had to make workarounds for that so the C2 compiler wouldn’t hang, as can be seen in this webrev:</div><div class=""><a href="http://cr.openjdk.java.net/~eosterlund/g1_dynamic_elision/noclassgc/webrev.00/" class="">http://cr.openjdk.java.net/~eosterlund/g1_dynamic_elision/noclassgc/webrev.00/</a></div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">/Erik</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 10 Jun 2015, at 23:20, Poonam Bajaj Parhar <<a href="mailto:poonam.bajaj@oracle.com" class="">poonam.bajaj@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
  
  <div bgcolor="#FFFFFF" text="#000000" class="">
    Please review the code changes to fix:<br class="">
    <a id="key-val" rel="4786055" href="https://bugs.openjdk.java.net/browse/JDK-8085965" class="">JDK-8085965:</a>
    VM hangs in C2Compiler <br class="">
    <br class="">
    Problem and fix: <br class="">
    In JDK8, CMSClassUnloadingEnabled option
    which is used to control the class-unloading in CMS, was enabled by
    default. But if the user specifies -Xnoclassgc or
    -XX:-ClassUnloading on the
    command line then classes get unloaded but updating of
    subklasses/siblings links gets skipped by the ClassUnloading check
    in the following function:<br class="">
    <br class="">
    <span id="mainframespan" class=""><tt class=""><i class="">void
          Klass::clean_weak_klass_links(BoolObjectClosure* is_alive,
          bool </i>
        <br class="">
         
        <i class="">clean_alive_klasses) {</i>
        <br class="">
        <i class="">   if (!ClassUnloading) {</i>
        <br class="">
        <i class="">     return;</i>
        <br class="">
        <i class="">   }<br class="">
          <br class="">
        </i></tt></span>which corrupts the class
    hierarchy links causing hangs and crashes.
    <br class="">
    <br class="">
    This fix honors -XX:-ClassUnloading and -Xnoclassgc options and
    disables class unloading with CMS.<br class="">
    <br class="">
    Webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~poonam/8085965/webrev/">http://cr.openjdk.java.net/~poonam/8085965/webrev/</a><br class="">
    <br class="">
    Thanks,<br class="">
    Poonam<br class="">
    <br class="">
  </div>

</div></blockquote></div><br class=""></div></body></html>