Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
On Mon, 2 Nov 2020 20:22:21 GMT, Vladimir Kozlov wrote: >> Bernhard Urban-Forster has updated the pull request with a new target base >> due to a merge or a rebase. The incremental webrev excludes the unrelated >> changes brought in by the merge/rebase. The pull request contains five >> additional commits since the last revision: >> >> - add missing precompiled.hpp include >> - Merge remote-tracking branch 'upstream/master' into >> 8254827-enable-jvmci-win-aarch64 >> - rename argument to canUsePlatformRegister >> - comment for platformRegister >> - 8254827: JVMCI: Enable it for Windows+AArch64 >> >>Use r18 as allocatable register on Linux only. >> >>A bootstrap works now (it has been crashing before due to r18 being >> allocated): >>```console >>$ ./windows-aarch64-server-fastdebug/bin/java.exe >> -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI >> -version >>Bootstrapping JVMCI. in 17990 ms >>(compiled 3330 methods) >>openjdk version "16-internal" 2021-03-16 >>OpenJDK Runtime Environment (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >>OpenJDK 64-Bit Server VM (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >>``` >> >>Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. > > Marked as reviewed by kvn (Reviewer). Thanks for the review Tom and Magnus, and for the comments to Vladimir and Doug 🙂 - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
On Tue, 20 Oct 2020 15:46:36 GMT, Bernhard Urban-Forster wrote: >> Use r18 as allocatable register on Linux only. >> >> A bootstrap works now (it has been crashing before due to r18 being >> allocated): >> $ ./windows-aarch64-server-fastdebug/bin/java.exe >> -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI >> -version >> Bootstrapping JVMCI. in 17990 ms >> (compiled 3330 methods) >> openjdk version "16-internal" 2021-03-16 >> OpenJDK Runtime Environment (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >> OpenJDK 64-Bit Server VM (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >> >> Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. > > Bernhard Urban-Forster has updated the pull request with a new target base > due to a merge or a rebase. The incremental webrev excludes the unrelated > changes brought in by the merge/rebase. The pull request contains five > additional commits since the last revision: > > - add missing precompiled.hpp include > - Merge remote-tracking branch 'upstream/master' into > 8254827-enable-jvmci-win-aarch64 > - rename argument to canUsePlatformRegister > - comment for platformRegister > - 8254827: JVMCI: Enable it for Windows+AArch64 > >Use r18 as allocatable register on Linux only. > >A bootstrap works now (it has been crashing before due to r18 being > allocated): >```console >$ ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version >Bootstrapping JVMCI. in 17990 ms >(compiled 3330 methods) >openjdk version "16-internal" 2021-03-16 >OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >``` > >Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. Marked as reviewed by kvn (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
On Mon, 2 Nov 2020 20:05:10 GMT, Bernhard Urban-Forster wrote: >> make/autoconf/jvm-features.m4 line 309: >> >>> 307: if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then >>> 308: AC_MSG_RESULT([yes]) >>> 309: elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then >> >> You are missing the same change for JVM_FEATURES_CHECK_JVMCI. >> Unless it is done intentionally. > > It's done a couple lines below: > https://github.com/openjdk/jdk/pull/685/files#diff-a09b08bcd422d0a8fb32a95ccf85051ac1e69bef2bd420d579f74d8efa286d2fL343 > > Or do you mean something else? Uhh. Sorry, I thought JVMCI definition will be first, before Graal and did not look below. - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
On Mon, 2 Nov 2020 19:33:39 GMT, Vladimir Kozlov wrote: >> Bernhard Urban-Forster has updated the pull request with a new target base >> due to a merge or a rebase. The incremental webrev excludes the unrelated >> changes brought in by the merge/rebase. The pull request contains five >> additional commits since the last revision: >> >> - add missing precompiled.hpp include >> - Merge remote-tracking branch 'upstream/master' into >> 8254827-enable-jvmci-win-aarch64 >> - rename argument to canUsePlatformRegister >> - comment for platformRegister >> - 8254827: JVMCI: Enable it for Windows+AArch64 >> >>Use r18 as allocatable register on Linux only. >> >>A bootstrap works now (it has been crashing before due to r18 being >> allocated): >>```console >>$ ./windows-aarch64-server-fastdebug/bin/java.exe >> -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI >> -version >>Bootstrapping JVMCI. in 17990 ms >>(compiled 3330 methods) >>openjdk version "16-internal" 2021-03-16 >>OpenJDK Runtime Environment (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >>OpenJDK 64-Bit Server VM (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >>``` >> >>Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. > > make/autoconf/jvm-features.m4 line 309: > >> 307: if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then >> 308: AC_MSG_RESULT([yes]) >> 309: elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then > > You are missing the same change for JVM_FEATURES_CHECK_JVMCI. > Unless it is done intentionally. It's done a couple lines below: https://github.com/openjdk/jdk/pull/685/files#diff-a09b08bcd422d0a8fb32a95ccf85051ac1e69bef2bd420d579f74d8efa286d2fL343 Or do you mean something else? - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
On Tue, 20 Oct 2020 15:46:36 GMT, Bernhard Urban-Forster wrote: >> Use r18 as allocatable register on Linux only. >> >> A bootstrap works now (it has been crashing before due to r18 being >> allocated): >> $ ./windows-aarch64-server-fastdebug/bin/java.exe >> -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI >> -version >> Bootstrapping JVMCI. in 17990 ms >> (compiled 3330 methods) >> openjdk version "16-internal" 2021-03-16 >> OpenJDK Runtime Environment (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >> OpenJDK 64-Bit Server VM (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >> >> Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. > > Bernhard Urban-Forster has updated the pull request with a new target base > due to a merge or a rebase. The incremental webrev excludes the unrelated > changes brought in by the merge/rebase. The pull request contains five > additional commits since the last revision: > > - add missing precompiled.hpp include > - Merge remote-tracking branch 'upstream/master' into > 8254827-enable-jvmci-win-aarch64 > - rename argument to canUsePlatformRegister > - comment for platformRegister > - 8254827: JVMCI: Enable it for Windows+AArch64 > >Use r18 as allocatable register on Linux only. > >A bootstrap works now (it has been crashing before due to r18 being > allocated): >```console >$ ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version >Bootstrapping JVMCI. in 17990 ms >(compiled 3330 methods) >openjdk version "16-internal" 2021-03-16 >OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >``` > >Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. Changes requested by kvn (Reviewer). make/autoconf/jvm-features.m4 line 309: > 307: if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then > 308: AC_MSG_RESULT([yes]) > 309: elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then You are missing the same change for JVM_FEATURES_CHECK_JVMCI. Unless it is done intentionally. - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
On Tue, 20 Oct 2020 15:46:36 GMT, Bernhard Urban-Forster wrote: >> Use r18 as allocatable register on Linux only. >> >> A bootstrap works now (it has been crashing before due to r18 being >> allocated): >> $ ./windows-aarch64-server-fastdebug/bin/java.exe >> -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI >> -version >> Bootstrapping JVMCI. in 17990 ms >> (compiled 3330 methods) >> openjdk version "16-internal" 2021-03-16 >> OpenJDK Runtime Environment (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >> OpenJDK 64-Bit Server VM (fastdebug build >> 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >> >> Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. > > Bernhard Urban-Forster has updated the pull request with a new target base > due to a merge or a rebase. The incremental webrev excludes the unrelated > changes brought in by the merge/rebase. The pull request contains five > additional commits since the last revision: > > - add missing precompiled.hpp include > - Merge remote-tracking branch 'upstream/master' into > 8254827-enable-jvmci-win-aarch64 > - rename argument to canUsePlatformRegister > - comment for platformRegister > - 8254827: JVMCI: Enable it for Windows+AArch64 > >Use r18 as allocatable register on Linux only. > >A bootstrap works now (it has been crashing before due to r18 being > allocated): >```console >$ ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version >Bootstrapping JVMCI. in 17990 ms >(compiled 3330 methods) >openjdk version "16-internal" 2021-03-16 >OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) >OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) >``` > >Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. Marked as reviewed by never (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]
> Use r18 as allocatable register on Linux only. > > A bootstrap works now (it has been crashing before due to r18 being > allocated): > $ > ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version > Bootstrapping JVMCI. in 17990 ms (compiled > 3330 methods) > openjdk version "16-internal" 2021-03-16 > OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) > OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) > > Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. Bernhard Urban-Forster has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision: - add missing precompiled.hpp include - Merge remote-tracking branch 'upstream/master' into 8254827-enable-jvmci-win-aarch64 - rename argument to canUsePlatformRegister - comment for platformRegister - 8254827: JVMCI: Enable it for Windows+AArch64 Use r18 as allocatable register on Linux only. A bootstrap works now (it has been crashing before due to r18 being allocated): ```console $ ./windows-aarch64-server-fastdebug/bin/java.exe -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI -version Bootstrapping JVMCI. in 17990 ms (compiled 3330 methods) openjdk version "16-internal" 2021-03-16 OpenJDK Runtime Environment (fastdebug build 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) OpenJDK 64-Bit Server VM (fastdebug build 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) ``` Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. - Changes: - all: https://git.openjdk.java.net/jdk/pull/685/files - new: https://git.openjdk.java.net/jdk/pull/685/files/28dcf572..7e6cb739 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=685&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=685&range=01-02 Stats: 29566 lines in 423 files changed: 18920 ins; 8788 del; 1858 mod Patch: https://git.openjdk.java.net/jdk/pull/685.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/685/head:pull/685 PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v2]
On Mon, 19 Oct 2020 11:03:46 GMT, Magnus Ihse Bursie wrote: >> Bernhard Urban-Forster has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - rename argument to canUsePlatformRegister >> - comment for platformRegister > > Build changes look good, but you'll need a review on the hotspot part as well. Thank you for your comments @dougxc 🙂 - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v2]
> Use r18 as allocatable register on Linux only. > > A bootstrap works now (it has been crashing before due to r18 being > allocated): > $ > ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version > Bootstrapping JVMCI. in 17990 ms (compiled > 3330 methods) > openjdk version "16-internal" 2021-03-16 > OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) > OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) > > Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. Bernhard Urban-Forster has updated the pull request incrementally with two additional commits since the last revision: - rename argument to canUsePlatformRegister - comment for platformRegister - Changes: - all: https://git.openjdk.java.net/jdk/pull/685/files - new: https://git.openjdk.java.net/jdk/pull/685/files/593dfdd6..28dcf572 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=685&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=685&range=00-01 Stats: 18 lines in 2 files changed: 9 ins; 3 del; 6 mod Patch: https://git.openjdk.java.net/jdk/pull/685.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/685/head:pull/685 PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64
On Thu, 15 Oct 2020 15:00:47 GMT, Bernhard Urban-Forster wrote: > Use r18 as allocatable register on Linux only. > > A bootstrap works now (it has been crashing before due to r18 being > allocated): > $ > ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version > Bootstrapping JVMCI. in 17990 ms (compiled > 3330 methods) > openjdk version "16-internal" 2021-03-16 > OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) > OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) > > Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java line 126: > 124: public static final Register metaspaceMethodRegister = r12; > 125: > 126: public static final Register platformRegister = r18; There should be a comment here as "platform register" is rather ambiguous. src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java line 133: > 131: private static final RegisterArray reservedRegisters = new > RegisterArray(rscratch1, rscratch2, threadRegister, > fp, lr, r31, zr, sp); 132: > 133: private static RegisterArray initAllocatable(Architecture arch, > boolean reserveForHeapBase, boolean linuxOs) { Instead of `linuxOs`, `canUsePlatformRegister` is a better name. The logic of which OS does what belongs more in AArch64HotSpotJVMCIBackendFactory. - PR: https://git.openjdk.java.net/jdk/pull/685
Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64
On Thu, 15 Oct 2020 15:00:47 GMT, Bernhard Urban-Forster wrote: > Use r18 as allocatable register on Linux only. > > A bootstrap works now (it has been crashing before due to r18 being > allocated): > $ > ./windows-aarch64-server-fastdebug/bin/java.exe > -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI > -version > Bootstrapping JVMCI. in 17990 ms (compiled > 3330 methods) > openjdk version "16-internal" 2021-03-16 > OpenJDK Runtime Environment (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) > OpenJDK 64-Bit Server VM (fastdebug build > 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) > > Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. Build changes look good, but you'll need a review on the hotspot part as well. - Marked as reviewed by ihse (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/685
RFR: 8254827: JVMCI: Enable it for Windows+AArch64
Use r18 as allocatable register on Linux only. A bootstrap works now (it has been crashing before due to r18 being allocated): $ ./windows-aarch64-server-fastdebug/bin/java.exe -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -XX:+BootstrapJVMCI -version Bootstrapping JVMCI. in 17990 ms (compiled 3330 methods) openjdk version "16-internal" 2021-03-16 OpenJDK Runtime Environment (fastdebug build 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk) OpenJDK 64-Bit Server VM (fastdebug build 16-internal+0-adhoc.NORTHAMERICAbeurba.openjdk-jdk, mixed mode) Jtreg tests `test/hotspot/jtreg/compiler/jvmci` are passing as well. - Commit messages: - 8254827: JVMCI: Enable it for Windows+AArch64 Changes: https://git.openjdk.java.net/jdk/pull/685/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=685&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8254827 Stats: 15 lines in 3 files changed: 8 ins; 0 del; 7 mod Patch: https://git.openjdk.java.net/jdk/pull/685.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/685/head:pull/685 PR: https://git.openjdk.java.net/jdk/pull/685