Re: RFR: 8254827: JVMCI: Enable it for Windows+AArch64 [v3]

2020-11-02 Thread Bernhard Urban-Forster
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]

2020-11-02 Thread Vladimir Kozlov
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]

2020-11-02 Thread Vladimir Kozlov
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]

2020-11-02 Thread Bernhard Urban-Forster
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]

2020-11-02 Thread Vladimir Kozlov
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]

2020-11-02 Thread Tom Rodriguez
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]

2020-10-20 Thread Bernhard Urban-Forster
> 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]

2020-10-20 Thread Bernhard Urban-Forster
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]

2020-10-20 Thread Bernhard Urban-Forster
> 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

2020-10-20 Thread Doug Simon
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

2020-10-19 Thread Magnus Ihse Bursie
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

2020-10-15 Thread Bernhard Urban-Forster
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