<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Thank you for the review, Vladimir</p>
    <p>while testing i found that i missed adding @requires <span
        class="c" style="color: rgb(102, 102, 102);">!vm.emulatedClient
      </span>in compiler/types/correctness/OffTest.java.  i will be
      adding that with this push? is that Ok ?<br>
    </p>
    <p>Best Regards,</p>
    <p>Jamsheed<br>
    </p>
    <div class="moz-cite-prefix">On 2/3/2017 7:56 AM, Vladimir Kozlov
      wrote:<br>
    </div>
    <blockquote
      cite="mid:10624bf4-b625-be84-5394-ee068fb39d84@oracle.com"
      type="cite">This looks good.
      <br>
      <br>
      Thanks,
      <br>
      Vladimir
      <br>
      <br>
      On 2/2/17 6:09 PM, Jamsheed C m wrote:
      <br>
      <blockquote type="cite">Hi Vladimir,
        <br>
        <br>
        revised webrev :
        <br>
        <br>
        1) Changes to make cli tests to run on sameVM
        <br>
        <br>
        root part: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jcm/8173679/webrev.00.hs/">http://cr.openjdk.java.net/~jcm/8173679/webrev.00.hs/</a>
        <br>
        <br>
        2) Changes for, disabling mdo trap count update on deopt, and to
        make
        <br>
        +UseRTMLocking to exit.
        <br>
        <br>
        hotspot part:
        <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jcm/8173679/webrev.02.hotspot/">http://cr.openjdk.java.net/~jcm/8173679/webrev.02.hotspot/</a>
        <br>
        <br>
        Best Regards,
        <br>
        <br>
        Jamsheed
        <br>
        <br>
        On 2/2/2017 10:59 AM, Jamsheed C m wrote:
        <br>
        <blockquote type="cite">Hi Vladimir,
          <br>
          <br>
          On 2/2/2017 9:20 AM, Vladimir Kozlov wrote:
          <br>
          <blockquote type="cite">
            <br>
            <br>
            On 2/1/17 6:19 PM, Jamsheed C m wrote:
            <br>
            <blockquote type="cite">Hi Vladimir,
              <br>
              <br>
              On 2/2/2017 7:07 AM, Vladimir Kozlov wrote:
              <br>
              <blockquote type="cite">On 2/1/17 9:07 AM, Jamsheed C m
                wrote:
                <br>
                <blockquote type="cite">Hi Vladimir,
                  <br>
                  <br>
                  <br>
                  On 2/1/2017 10:25 PM, Vladimir Kozlov wrote:
                  <br>
                  <blockquote type="cite">
                    <br>
                    Sent from my iPhone
                    <br>
                    <br>
                    <blockquote type="cite">On Feb 1, 2017, at 5:20 AM,
                      Jamsheed C m
                      <br>
                      <a class="moz-txt-link-rfc2396E" href="mailto:jamsheed.c.m@oracle.com"><jamsheed.c.m@oracle.com></a> wrote:
                      <br>
                      <br>
                      Hi Vladimir,
                      <br>
                      <br>
                      revised webrev :
                      <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jcm/8173679/webrev.01/">http://cr.openjdk.java.net/~jcm/8173679/webrev.01/</a>
                      <br>
                      <br>
                      1) -XX:+UseRTMLocking displays informative warning
                      in emulate
                      <br>
                      client mode.
                      <br>
                    </blockquote>
                    Warning doesn't switch off RTM.
                    <br>
                    where you are switching it off?
                    <br>
                  </blockquote>
                  i am not switching it off, i am just printing warning,
                  User should
                  <br>
                  explicitly remove option.
                  <br>
                </blockquote>
                <br>
                Then it should be not warning but error. We can't run in
                Client
                <br>
                mode with RTM on. Or I am missing something?
                <br>
              </blockquote>
              RTM "ON" state is always user specified action. RTM is
              default OFF.
              <br>
              from the code it says it disables BiasedLocking when
              <br>
              RTM is ON and exit in client(lose both rtm + biased
              locking feature
              <br>
              with -XX:+UseRTMLocking), i made it warning for
              <br>
            </blockquote>
            <br>
            Where it exits? It does not in
            VM_Version::use_biased_locking().
            <br>
          </blockquote>
          i meant normal client exits. emulated client prints warning
          only, it
          <br>
          doesn't exit or change flags.
          <br>
          <blockquote type="cite">
            <br>
            <blockquote type="cite">emulated client. as it is User
              specified action, User can see
              <br>
              warning that  Biased lock get switched off with an
              <br>
              unsupported option, and remove it from his commandline.
              <br>
            </blockquote>
            <br>
            No, you have to explicitly call
            vm_exit_during_initialization() as it
            <br>
            was done in preceding code (!supports_rtm() &&
            UseRTMLocking). Note,
            <br>
            users may ignores warnings because usually output is stored
            in log
            <br>
            files.
            <br>
          </blockquote>
          Sure, i will do required code change , and send it for review.
          <br>
          Best Regards,
          <br>
          Jamsheed
          <br>
          <blockquote type="cite">
            <br>
            thanks,
            <br>
            Vladimir
            <br>
            <br>
            <blockquote type="cite">Best Regards,
              <br>
              Jamsheed
              <br>
              <blockquote type="cite">
                <br>
                Thanks,
                <br>
                Vladimir
                <br>
                <br>
                <blockquote type="cite">
                  <br>
                  Best Regards, Jamsheed
                  <br>
                  <br>
                  <blockquote type="cite">
                    <br>
                    Vladimir
                    <br>
                    <br>
                    <blockquote type="cite">2)  Disabled mdo update code
                      in deopt.
                      <br>
                      <br>
                      Best Regards,
                      <br>
                      <br>
                      Jamsheed
                      <br>
                      <br>
                      <br>
                      <blockquote type="cite">On 2/1/2017 11:04 AM,
                        Jamsheed C m wrote:
                        <br>
                        Hi Vladimir,
                        <br>
                        <br>
                        <blockquote type="cite">On 2/1/2017 1:39 AM,
                          Vladimir Kozlov wrote:
                          <br>
                          <blockquote type="cite">On 1/31/17 10:37 AM,
                            Jamsheed C m wrote:
                            <br>
                            Hi Vladimir,
                            <br>
                            <br>
                            ProfileTraps is develop_pd flag, should i be
                            changing flag
                            <br>
                            type ?
                            <br>
                          </blockquote>
                          No. Thinking more about this. The code guarded
                          by ProfileTraps
                          <br>
                          should be only executed when
                          ProfileInterpreter is
                          <br>
                          true. And you set ProfileInterpreter to false
                          in client mode.
                          <br>
                          Why you need these changes then? Did you hit
                          some
                          <br>
                          ProfileTraps code which is not guarded by
                          ProfileInterpreter?
                          <br>
                        </blockquote>
                        with ProfileTraps ON may be the trap count
                        updation in deopt
                        <br>
                        pollute Runtime1::predicate_failed_trap trap
                        count
                        <br>
                        and may influence the recompilation time
                        optimization decision?
                        <br>
                        also create some more mdos(empty ones) in
                        <br>
                        exceptions ?
                        <br>
                        other than that i don't find any issues.
                        <br>
                        <br>
                        just disabling ProfileTraps[1] in deoptimization
                        should solve
                        <br>
                        first problem. second problem of creation of
                        <br>
                        mdos(empty ones) for exception is harmless i
                        believe.
                        <br>
                        [1] if (ProfileTraps &&
                        update_trap_state && trap_mdo != NULL) {
                        <br>
                        <br>
                        <blockquote type="cite">
                          <blockquote type="cite">RTM test code doesn't
                            pass VM options to  spawned  process,
                            <br>
                            So predicate checking process and spawned
                            process
                            <br>
                            can be in
                            <br>
                            different modes. spawned test process is
                            always in emulated
                            <br>
                            client mode in win32.
                            <br>
                            <br>
                            the predicate checking process will be in
                            emulated client or
                            <br>
                            server based on passed
                            -XX:+|-TieredCompilation
                            <br>
                            option.
                            <br>
                            as a fix i disabled RTM testing completely
                            in win32.
                            <br>
                          </blockquote>
                          I still do not understand why you can't use
                          <br>
                          Platform.isEmulatedClient() instead of
                          Platform.isWindows() &&
                          <br>
                          Platform.is32bit().
                          <br>
                          <br>
                          And why changes in SupportedOS.java is not
                          enough?
                          <br>
                        </blockquote>
                        Some tests doesn't pass vmoption to child
                        process(cli tests).
                        <br>
                        so same vm tests will be running in different
                        modes
                        <br>
                        ( i.e child will always run in emulated client
                        mode, while
                        <br>
                        predicate checking parent process will run in
                        server or
                        <br>
                        emulated client depending on option passed). so
                        these tests
                        <br>
                        require change if i am changing VM behavior with
                        <br>
                        respect to options.
                        <br>
                        <br>
                        //I would suggest to disable RTM only in client
                        mode. //
                        <br>
                        <br>
                        as per this discussion, i decided to not disable
                        tests or vm
                        <br>
                        behavior, just print some harmless warning in
                        <br>
                        emulated client mode.
                        <br>
                        <br>
                        Best Regards,
                        <br>
                        Jamsheed
                        <br>
                        <br>
                        <blockquote type="cite">
                          <blockquote type="cite">i will disable RTM
                            completely in win32(both emulated client
                            <br>
                            and server).
                            <br>
                          </blockquote>
                          I would suggest to disable RTM only in client
                          mode.
                          <br>
                          <br>
                          Thanks,
                          <br>
                          Vladimir
                          <br>
                          <br>
                          <blockquote type="cite">Best Regards,
                            <br>
                            <br>
                            Jamsheed
                            <br>
                            <br>
                            <blockquote type="cite">On 1/31/2017 11:15
                              PM, Vladimir Kozlov wrote:
                              <br>
                              Jamsheed
                              <br>
                              <br>
                              Instead of adding check &&
                              !is_client_compilation_mode_vm()
                              <br>
                              I think we should set ProfileTraps to
                              false in
                              <br>
                              client mode.
                              <br>
                              <br>
                              Why you not using
                              Platform.isEmulatedClient() in tests
                              changes?
                              <br>
                              <br>
                              Thanks,
                              <br>
                              Vladimir
                              <br>
                              <br>
                              <blockquote type="cite">On 1/31/17 2:44
                                AM, Jamsheed C m wrote:
                                <br>
                                Hi,
                                <br>
                                <br>
                                Code change to disable ProfileTrap and
                                UseRTMLocking in
                                <br>
                                Win32 emulated client .
                                <br>
                                <br>
                                1) ProfileTrap is code is disabled
                                <br>
                                <br>
                                2) -XX:+ UseRTMLocking in win32 emulated
                                client not supported.
                                <br>
                                <br>
                                3) All Supported and Unsupported 
                                testcases related RTM is
                                <br>
                                disabled in win32.
                                <br>
                                <br>
                                webrev:
                                <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jcm/8173679/webrev.00/">http://cr.openjdk.java.net/~jcm/8173679/webrev.00/</a>
                                <br>
                                <br>
                                bug id:
                                <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8173679">https://bugs.openjdk.java.net/browse/JDK-8173679</a>
                                <br>
                                <br>
                                Best Regards,
                                <br>
                                <br>
                                Jamsheed
                                <br>
                                <br>
                              </blockquote>
                            </blockquote>
                          </blockquote>
                        </blockquote>
                      </blockquote>
                    </blockquote>
                  </blockquote>
                  <br>
                </blockquote>
              </blockquote>
              <br>
            </blockquote>
          </blockquote>
          <br>
        </blockquote>
        <br>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>