<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Ambarish,<br>
    <br>
    Why not simply initialize yieldMethodID separately? For example in
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    Java_sun_awt_X11_XToolkit_initIDs.<br>
    <br>
    --Semyon<br>
    <br>
    <div class="moz-cite-prefix">On 06.07.2016 14:23, Ambarish Rapte
      wrote:<br>
    </div>
    <blockquote cite="mid:bf801a82-3a0b-4634-a9b1-b501cd43caf6@default"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 12 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:107243205;
        mso-list-type:hybrid;
        mso-list-template-ids:-1206473858 323883818 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l1
        {mso-list-id:904531106;
        mso-list-type:hybrid;
        mso-list-template-ids:-1584505382 2104147150 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l2
        {mso-list-id:1567691066;
        mso-list-type:hybrid;
        mso-list-template-ids:-723592614 -1889384092 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l3
        {mso-list-id:1749964866;
        mso-list-type:hybrid;
        mso-list-template-ids:2127197066 1544571926 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l3:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hi,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">                Please review the fix for
          JDK9,<o:p></o:p></p>
        <p class="MsoNormal">                Bug: <a
            moz-do-not-send="true"
            href="https://bugs.openjdk.java.net/browse/JDK-8146230"><a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8146230">https://bugs.openjdk.java.net/browse/JDK-8146230</a></a><o:p></o:p></p>
        <p class="MsoNormal">                Webrev: <a
            moz-do-not-send="true"
            href="http://cr.openjdk.java.net/%7Earapte/8146230/webrev.00/"><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~arapte/8146230/webrev.00/">http://cr.openjdk.java.net/~arapte/8146230/webrev.00/</a></a><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Issue:<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1
          lfo1"><!--[if !supportLists]--><span style="mso-list:Ignore">1.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->Null
          pointer exception in JNI<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Cause:<o:p></o:p></p>
        <p class="MsoListParagraph" style="margin-left:.75in">The code
          block was not multi thread safe.<o:p></o:p></p>
        <p class="MsoListParagraph" style="margin-left:.75in">Issue
          occurs in  multi threaded , multi processor environment.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Fix:<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1
          lfo3"><!--[if !supportLists]--><span style="mso-list:Ignore">1.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->Changed
          the variable used for double checking, to use  <i>yieldMethodID
            .</i><o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1
          lfo3"><!--[if !supportLists]--><span style="mso-list:Ignore">2.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->Changed
          <i>yieldMethodID  to  volatile.</i><o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1
          lfo3"><!--[if !supportLists]--><span style="mso-list:Ignore">3.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->Added
          AWT_LOCK() over initialize block of code.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1
          lfo3"><!--[if !supportLists]--><span style="mso-list:Ignore">4.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->Removed
          unrequired  err variable.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-left:.5in">A drawback of
          Double Check Locking ( DCL ) is, if the resource assignment is
          not an atomic operation, The DCL may fail.<o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:.5in">But here in the
          code of concern, is an atomic operation. Hence DCL should work
          fine.<o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:.5in">Please check below
          reference link for more detailed discussion of DCL with C++.<o:p></o:p></p>
        <p class="MsoListParagraph" style="margin-left:.75in"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Verification:<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l0 level1
          lfo4"><!--[if !supportLists]--><span style="mso-list:Ignore">1.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->Tested
          Event tests which pass without any regression of this change.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l0 level1
          lfo4"><!--[if !supportLists]--><span style="mso-list:Ignore">2.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->As
          this change only corrects existing logic, there should be no
          side effects.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Reference:<o:p></o:p></p>
        <p class="MsoNormal">                C++ and the Perils of
          Double-Checked Locking:  <a moz-do-not-send="true"
            href="http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf">http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf</a><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Regards,<o:p></o:p></p>
        <p class="MsoNormal">Ambarish<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>