<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>It could be something simple like os::is_MP() returning false,
      but then I would expect a lot more tests to fail.</p>
    <p>dl<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 9/30/16 1:14 PM, Bob Vandette wrote:<br>
    </div>
    <blockquote
      cite="mid:1FE767B9-CD2B-4AA5-9F0E-346DEAEFE2D0@oracle.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      I realize that we don’t officially support G1GC for ARM but here’s
      a crash running
      <div class="">the test harness using G1GC on a 32-bit ARM server
        VM in case anyone has</div>
      <div class="">any insights.</div>
      <div class=""><br class="">
      </div>
      <div class="">Bob.</div>
      <div class=""><br class="">
      </div>
      <div><br class="">
        <blockquote type="cite" class="">
          <div class="">Begin forwarded message:</div>
          <br class="Apple-interchange-newline">
          <div style="margin-top: 0px; margin-right: 0px; margin-bottom:
            0px; margin-left: 0px;" class=""><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b
                class="">From: </b></span><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif;" class="">Bob Vandette <<a
                moz-do-not-send="true"
                href="mailto:bob.vandette@oracle.com" class="">bob.vandette@oracle.com</a>><br
                class="">
            </span></div>
          <div style="margin-top: 0px; margin-right: 0px; margin-bottom:
            0px; margin-left: 0px;" class=""><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b
                class="">Subject: </b></span><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif;" class=""><b class="">Re: Webrev of Oracle ARM
                & AARCH64 Sources</b><br class="">
            </span></div>
          <div style="margin-top: 0px; margin-right: 0px; margin-bottom:
            0px; margin-left: 0px;" class=""><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b
                class="">Date: </b></span><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif;" class="">September 30, 2016 at 9:58:55 AM EDT<br
                class="">
            </span></div>
          <div style="margin-top: 0px; margin-right: 0px; margin-bottom:
            0px; margin-left: 0px;" class=""><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b
                class="">To: </b></span><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif;" class="">David Holmes <<a
                moz-do-not-send="true"
                href="mailto:David.Holmes@oracle.com" class="">David.Holmes@oracle.com</a>><br
                class="">
            </span></div>
          <div style="margin-top: 0px; margin-right: 0px; margin-bottom:
            0px; margin-left: 0px;" class=""><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b
                class="">Cc: </b></span><span style="font-family:
              -webkit-system-font, Helvetica Neue, Helvetica,
              sans-serif;" class=""><a moz-do-not-send="true"
                href="mailto:edward.nevill@gmail.com" class="">edward.nevill@gmail.com</a>,
              <a moz-do-not-send="true"
                href="mailto:aarch32-port-dev@openjdk.java.net" class="">aarch32-port-dev@openjdk.java.net</a>,
              "<a moz-do-not-send="true"
                href="mailto:hotspot-dev@openjdk.java.net" class="">hotspot-dev@openjdk.java.net</a>
              developers" <<a moz-do-not-send="true"
                href="mailto:hotspot-dev@openjdk.java.net" class="">hotspot-dev@openjdk.java.net</a>>,
              <a moz-do-not-send="true"
                href="mailto:aarch64-port-dev@openjdk.java.net" class="">aarch64-port-dev@openjdk.java.net</a><br
                class="">
            </span></div>
          <br class="">
          <div class="">
            <div class=""><br class="">
              <blockquote type="cite" class="">On Sep 30, 2016, at 7:23
                AM, David Holmes <<a moz-do-not-send="true"
                  href="mailto:David.Holmes@oracle.com" class="">David.Holmes@oracle.com</a>>
                wrote:<br class="">
                <br class="">
                Hi Ed,<br class="">
                <br class="">
                On 30/09/2016 8:32 PM, Edward Nevill wrote:<br class="">
                <blockquote type="cite" class="">Hi Bob,<br class="">
                  <br class="">
                  On Wed, 2016-09-28 at 10:07 -0400, Bob Vandette wrote:<br
                    class="">
                  <blockquote type="cite" class="">I’m am please to
                    announce that I have completed our internal reviews
                    and can now<br class="">
                    open up the sources to our ARM 32 & 64 bit
                    implementations of JDK9.<br class="">
                  </blockquote>
                  <br class="">
                  Great news.<br class="">
                  <br class="">
                  <blockquote type="cite" class=""><br class="">
                    Here is a webrev that includes a patch that can be
                    applied on top of the<br class="">
                    (<a moz-do-not-send="true"
                      href="http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264/"
                      class="">http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264/</a>
                    ) forest.<br class="">
                    <br class="">
                       <a moz-do-not-send="true"
                      href="http://cr.openjdk.java.net/%7Ebobv/arm3264/webrev"
                      class="">http://cr.openjdk.java.net/~bobv/arm3264/webrev</a>
                    <<a moz-do-not-send="true"
                      href="http://cr.openjdk.java.net/%7Ebobv/arm3264/webrev"
                      class="">http://cr.openjdk.java.net/~bobv/arm3264/webrev</a>><br
                      class="">
                  </blockquote>
                  <br class="">
                  I have built this natively on armv7 and aarch64
                  without problems. In both cases I built the
                  minimal,client,server combination.<br class="">
                  <br class="">
                  I have also tested the server build with JTreg hotspot
                  & langtools.<br class="">
                  <br class="">
                  On aarch64 I got the following results:-<br class="">
                  <br class="">
                  hotspot: Test results: passed: 1,280; failed: 8;
                  error: 43<br class="">
                  langtools: Test results: passed: 3,700; failed: 1;
                  error: 29<br class="">
                  <br class="">
                  This is fairly typical, for example, using the Linaro
                  1609 build I get<br class="">
                  <br class="">
                  hotspot: Test results: passed: 1,271; failed: 17;
                  error: 43<br class="">
                  langtools: Test results: passed: 3,715; failed: 3;
                  error: 12<br class="">
                </blockquote>
                <br class="">
                So most of the "errors" are probably tests that are
                ignored.<br class="">
                <br class="">
                <blockquote type="cite" class="">On armv7 I first of all
                  had to pin the jvm.cfg to use -server as it kept on
                  using the client as I was not running on a 'server
                  class machine' (since my armv7 device is a Samsung
                  Chromebook this is fair enough).<br class="">
                  <br class="">
                  However, I then had problems with the test harness
                  crashing with the error<br class="">
                  <br class="">
                  #  Internal Error (synchronizer.cpp:1576), pid=6533,
                  tid=6542<br class="">
                  #  guarantee(mid->header()->is_neutral())
                  failed: invariant<br class="">
                  <br class="">
                  (hs_err here <a moz-do-not-send="true"
                    href="http://cr.openjdk.java.net/%7Eenevill/aarch32/hs_err_pid6533.log"
                    class="">http://cr.openjdk.java.net/~enevill/aarch32/hs_err_pid6533.log</a>)<br
                    class="">
                </blockquote>
                <br class="">
                Strange - that looks like our closed bug:<br class="">
                <br class="">
                <a moz-do-not-send="true"
                  href="https://bugs.openjdk.java.net/browse/JDK-8071540"
                  class="">https://bugs.openjdk.java.net/browse/JDK-8071540</a><br
                  class="">
                <br class="">
                which should be fixed. It was a missing memory barrier
                issue.<br class="">
              </blockquote>
              <br class="">
              I checked and this fix was applied but later a newer
              implementation<br class="">
              was added.  The memory barriers were moved to
              cas_for_lock_acquire<br class="">
              with optimized versions for aarch64.<br class="">
              <br class="">
              Be aware that G1 support on 32-bit ARM is not fully
              supported by the GC team.<br class="">
              It’s experimental.  This means that there was an attempt
              to implement it but it<br class="">
              has not undergone the same level of testing as other
              platforms.  I’ll forward this<br class="">
              issue to the GC team.<br class="">
              <br class="">
              Bob.<br class="">
              <br class="">
              <br class="">
              <blockquote type="cite" class=""><br class="">
                Aside: we're going to have to figure out how to deal
                with currently closed bug reports.<br class="">
                <br class="">
                David<br class="">
                -----<br class="">
                <br class="">
                <blockquote type="cite" class="">On a subsequent run the
                  test harness locked up after 85 tests.<br class="">
                  <br class="">
                  It looks like there might be a problem with locks
                  breaking with G1GC. I will keep investigating.<br
                    class="">
                  <br class="">
                  I ran it again using the template interpreter for the
                  test harness and the server for the jdk under test and
                  it ran successfully.<br class="">
                  <br class="">
                  On armv7 I got<br class="">
                  <br class="">
                  hotspot: Test results: passed: 1,202; failed: 11;
                  error: 36<br class="">
                  langtools: Test results: passed: 3,718; failed: 5;
                  error: 8<br class="">
                  <br class="">
                  I also did some limited benchmarking which I am not
                  going to share on a public forum. Lets just say the
                  performance of the server JIT on armv7 was pleasing.<br
                    class="">
                  <br class="">
                  Thanks for all your work getting to this stage. It
                  looks good to push and you should shortly have
                  committeer rights, if you don't get them within a few
                  days ping me and I will give ops a nudge.<br class="">
                  <br class="">
                  All the best,<br class="">
                  Ed.<br class="">
                  <br class="">
                  <br class="">
                </blockquote>
              </blockquote>
              <br class="">
            </div>
          </div>
        </blockquote>
      </div>
      <br class="">
    </blockquote>
    <br>
  </body>
</html>