Re: RFR: 8248238: Implementation of JEP: Windows AArch64 Support

2020-09-18 Thread Erik Joelsson
On Wed, 16 Sep 2020 20:26:10 GMT, Monica Beckwith  wrote:

> This is a continuation of 
> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009566.html
>  
> Changes since then:
> * We've improved the write barrier as suggested by Andrew [1]
> * The define-guards around R18 have been changed to `R18_RESERVED`. This will 
> be enabled for Windows only for now but
>   will be required for the upcoming macOS+Aarch64 [2] port as well.
> * We've incorporated https://github.com/openjdk/jdk/pull/154 by @AntonKozlov 
> in our PR for now and built the
>   Windows-specific CPU feature detection on top of it.
> 
> [1] 
> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009597.html
> [2] https://openjdk.java.net/jeps/8251280

make/autoconf/toolchain.m4 line 902:

> 900:   BUILD_DEVKIT_TOOLCHAIN_PATH="$BUILD_DEVKIT_ROOT/bin"
> 901: fi
> 902: UTIL_PREPEND_TO_PATH([PATH],$BUILD_DEVKIT_TOOLCHAIN_PATH)

Here is a problem. In our linux cross compile build, we rely on the PATH being 
completely overwritten with the paths
from the devkit here. Otherwise the UTIL_REQUIRE_PROGS may find /usr/bin/cc 
before $BUILD_DEVKIT_TOOLCHAIN_PATH/gcc.

This is the reason my linux-aarch64 (cross compile) build failed. The system 
installed cc was too old to recognize
the -stdc=c++14 argument.

-

PR: https://git.openjdk.java.net/jdk/pull/212


Re: RFR: 8248238: Implementation of JEP: Windows AArch64 Support

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 20:32:36 GMT, Erik Joelsson  wrote:

>> This is a continuation of 
>> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009566.html
>>  
>> Changes since then:
>> * We've improved the write barrier as suggested by Andrew [1]
>> * The define-guards around R18 have been changed to `R18_RESERVED`. This 
>> will be enabled for Windows only for now but
>>   will be required for the upcoming macOS+Aarch64 [2] port as well.
>> * We've incorporated https://github.com/openjdk/jdk/pull/154 by @AntonKozlov 
>> in our PR for now and built the
>>   Windows-specific CPU feature detection on top of it.
>> 
>> [1] 
>> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009597.html
>> [2] https://openjdk.java.net/jeps/8251280
>
> make/autoconf/toolchain.m4 line 902:
> 
>> 900:   BUILD_DEVKIT_TOOLCHAIN_PATH="$BUILD_DEVKIT_ROOT/bin"
>> 901: fi
>> 902: UTIL_PREPEND_TO_PATH([PATH],$BUILD_DEVKIT_TOOLCHAIN_PATH)
> 
> Here is a problem. In our linux cross compile build, we rely on the PATH 
> being completely overwritten with the paths
> from the devkit here. Otherwise the UTIL_REQUIRE_PROGS may find /usr/bin/cc 
> before $BUILD_DEVKIT_TOOLCHAIN_PATH/gcc.
> This is the reason my linux-aarch64 (cross compile) build failed. The system 
> installed cc was too old to recognize
> the -stdc=c++14 argument.

I assume you need the rest of the PATH on Windows.

-

PR: https://git.openjdk.java.net/jdk/pull/212


Re: RFR: 8248238: Implementation of JEP: Windows AArch64 Support

2020-09-18 Thread Bernhard Urban-Forster
On Fri, 18 Sep 2020 15:34:26 GMT, Erik Joelsson  wrote:

>> Build changes look good to me. I will take this branch for a spin.
>
> Our linux-aarch64 build fails with this:
> cc: error: unrecognized command line option '-std=c++14'
> when compiling 
> build/linux-aarch64/buildjdk/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch
> 
> I'm trying to configure a windows-aarch64 build, but it fails on fixpath. Is 
> this something you are also experiencing,
> and if so, how are you addressing it?

Hey @erikj79, thank you so much for giving it a try!

> Our linux-aarch64 build fails with this:
> cc: error: unrecognized command line option '-std=c++14'
> when compiling 
> build/linux-aarch64/buildjdk/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch

Hmm, that's interesting. What environment is that exactly? What `configure` 
line are you using there? We have tested on
such a system: $ cat /etc/issue
Ubuntu 19.10 \n \l
$ bash configure --with-boot-jdk=/home/beurba/work/jdk-16+13 --with-jtreg
$ make clean CONF=linux-aarch64-server-release
$ make images JOBS=255 LOG=info CONF=linux-aarch64-server-release
$ ./build/linux-aarch64-server-release/images/jdk/bin/java 
-XshowSettings:properties -version 2>&1 | grep aarch64
java.home = 
/home/beurba/work/jdk/build/linux-aarch64-server-release/images/jdk
os.arch = aarch64
sun.boot.library.path = 
/home/beurba/work/jdk/build/linux-aarch64-server-release/images/jdk/lib

> I'm trying to configure a windows-aarch64 build, but it fails on fixpath. Is 
> this something you are also experiencing,
> and if so, how are you addressing it?

Yes. As far as I understand, the problem is that `fixpath.exe` isn't built 
properly when doing cross-compiling on
Windows targets (as it hasn't been a thing so far). We use a workaround 
internally
https://gist.github.com/lewurm/c099a4b5fcd8a182510cbdeebcb41f77 , but a proper 
solution is under discussion on
build-dev: 
https://mail.openjdk.java.net/pipermail/build-dev/2020-July/027872.html

-

PR: https://git.openjdk.java.net/jdk/pull/212


Re: RFR: 8248238: Implementation of JEP: Windows AArch64 Support

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 13:33:07 GMT, Erik Joelsson  wrote:

>> This is a continuation of 
>> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009566.html
>>  
>> Changes since then:
>> * We've improved the write barrier as suggested by Andrew [1]
>> * The define-guards around R18 have been changed to `R18_RESERVED`. This 
>> will be enabled for Windows only for now but
>>   will be required for the upcoming macOS+Aarch64 [2] port as well.
>> * We've incorporated https://github.com/openjdk/jdk/pull/154 by @AntonKozlov 
>> in our PR for now and built the
>>   Windows-specific CPU feature detection on top of it.
>> 
>> [1] 
>> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009597.html
>> [2] https://openjdk.java.net/jeps/8251280
>
> Build changes look good to me. I will take this branch for a spin.

Our linux-aarch64 build fails with this:
cc: error: unrecognized command line option '-std=c++14'
when compiling 
build/linux-aarch64/buildjdk/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch

I'm trying to configure a windows-aarch64 build, but it fails on fixpath. Is 
this something you are also experiencing,
and if so, how are you addressing it?

-

PR: https://git.openjdk.java.net/jdk/pull/212


Re: RFR: JDK-8253239: Disable VS warning C4307 [v3]

2020-09-18 Thread Martin Doerr
On Fri, 18 Sep 2020 13:58:57 GMT, Matthias Baesken  wrote:

>> hello, this fixes the build when using VS2017. VS2019 does not have the 
>> issue as far as I know.
>> failure was
>> 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>>> treated as error - no 'object' file generated
>>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>>> function template instantiation 'void
>>> static_test_alignments(void)' being compiled with
>>> [
>>> T=int64_t,
>>> A=uint8_t
>>> ]
>>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>>> function template instantiation 'void
>>> test_alignments(void)' being compiled 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>>> C4307: '+': integral constant overflow
>>>
>>>
>> 
>> This might be related to an issue fixed at least in some versions of VS2019 
>> , that is discussed here :
>> 
>> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8253239
>
> Matthias Baesken has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   JDK-8253239: Disable VS warning C4307
>   
>   Co-authored-by: Erik Joelsson <37597443+erik...@users.noreply.github.com>

Marked as reviewed by mdoerr (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/237


Integrated: JDK-8253239: Disable VS warning C4307

2020-09-18 Thread Matthias Baesken
On Fri, 18 Sep 2020 08:22:56 GMT, Matthias Baesken  wrote:

> hello, this fixes the build when using VS2017. VS2019 does not have the issue 
> as far as I know.
> failure was
> 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>> treated as error - no 'object' file generated
>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>> function template instantiation 'void
>> static_test_alignments(void)' being compiled with
>> [
>> T=int64_t,
>> A=uint8_t
>> ]
>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>> function template instantiation 'void
>> test_alignments(void)' being compiled 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>> C4307: '+': integral constant overflow
>>
>>
> 
> This might be related to an issue fixed at least in some versions of VS2019 , 
> that is discussed here :
> 
> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
> 
> https://bugs.openjdk.java.net/browse/JDK-8253239

This pull request has now been integrated.

Changeset: 52c28b86
Author:Matthias Baesken 
URL:   https://git.openjdk.java.net/jdk/commit/52c28b86
Stats: 4 lines in 1 file changed: 0 ins; 4 del; 0 mod

8253239: Disable VS warning C4307

Reviewed-by: mdoerr, erikj

-

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: JDK-8253239: Disable VS warning C4307 [v3]

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 13:58:57 GMT, Matthias Baesken  wrote:

>> hello, this fixes the build when using VS2017. VS2019 does not have the 
>> issue as far as I know.
>> failure was
>> 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>>> treated as error - no 'object' file generated
>>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>>> function template instantiation 'void
>>> static_test_alignments(void)' being compiled with
>>> [
>>> T=int64_t,
>>> A=uint8_t
>>> ]
>>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>>> function template instantiation 'void
>>> test_alignments(void)' being compiled 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>>> C4307: '+': integral constant overflow
>>>
>>>
>> 
>> This might be related to an issue fixed at least in some versions of VS2019 
>> , that is discussed here :
>> 
>> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8253239
>
> Matthias Baesken has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   JDK-8253239: Disable VS warning C4307
>   
>   Co-authored-by: Erik Joelsson <37597443+erik...@users.noreply.github.com>

Marked as reviewed by erikj (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: JDK-8253239: Disable VS warning C4307 [v3]

2020-09-18 Thread Matthias Baesken
> hello, this fixes the build when using VS2017. VS2019 does not have the issue 
> as far as I know.
> failure was
> 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>> treated as error - no 'object' file generated
>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>> function template instantiation 'void
>> static_test_alignments(void)' being compiled with
>> [
>> T=int64_t,
>> A=uint8_t
>> ]
>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>> function template instantiation 'void
>> test_alignments(void)' being compiled 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>> C4307: '+': integral constant overflow
>>
>>
> 
> This might be related to an issue fixed at least in some versions of VS2019 , 
> that is discussed here :
> 
> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
> 
> https://bugs.openjdk.java.net/browse/JDK-8253239

Matthias Baesken has updated the pull request incrementally with one additional 
commit since the last revision:

  JDK-8253239: Disable VS warning C4307
  
  Co-authored-by: Erik Joelsson <37597443+erik...@users.noreply.github.com>

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/237/files
  - new: https://git.openjdk.java.net/jdk/pull/237/files/4e82edcb..af48bb31

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=237=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=237=01-02

  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/237.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/237/head:pull/237

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: 8248238: Implementation of JEP: Windows AArch64 Support

2020-09-18 Thread Erik Joelsson
On Wed, 16 Sep 2020 20:26:10 GMT, Monica Beckwith  wrote:

> This is a continuation of 
> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009566.html
>  
> Changes since then:
> * We've improved the write barrier as suggested by Andrew [1]
> * The define-guards around R18 have been changed to `R18_RESERVED`. This will 
> be enabled for Windows only for now but
>   will be required for the upcoming macOS+Aarch64 [2] port as well.
> * We've incorporated https://github.com/openjdk/jdk/pull/154 by @AntonKozlov 
> in our PR for now and built the
>   Windows-specific CPU feature detection on top of it.
> 
> [1] 
> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009597.html
> [2] https://openjdk.java.net/jeps/8251280

Build changes look good to me. I will take this branch for a spin.

-

PR: https://git.openjdk.java.net/jdk/pull/212


Re: RFR: JDK-8253239: Disable VS warning C4307 [v2]

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 10:00:55 GMT, Aleksey Shipilev  wrote:

>> Matthias Baesken has refreshed the contents of this pull request, and 
>> previous commits have been removed. The
>> incremental views will show differences compared to the previous content of 
>> the PR. The pull request contains one new
>> commit since the last revision:
>>   JDK-8253239
>
> This looks fine to me, but build maintainers should approve.

I left a suggestion for a comment. You should be able to just accept it if you 
are happy with it. If you would rather
write something yourself, I recommend committing without --amend. The Skara bot 
will automatically squash all your
changes before merging this to the main repo.

-

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: JDK-8253239: Disable VS warning C4307 [v2]

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 10:05:10 GMT, Matthias Baesken  wrote:

>> hello, this fixes the build when using VS2017. VS2019 does not have the 
>> issue as far as I know.
>> failure was
>> 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>>> treated as error - no 'object' file generated
>>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>>> function template instantiation 'void
>>> static_test_alignments(void)' being compiled with
>>> [
>>> T=int64_t,
>>> A=uint8_t
>>> ]
>>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>>> function template instantiation 'void
>>> test_alignments(void)' being compiled 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>>> C4307: '+': integral constant overflow
>>>
>>>
>> 
>> This might be related to an issue fixed at least in some versions of VS2019 
>> , that is discussed here :
>> 
>> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8253239
>
> Matthias Baesken has refreshed the contents of this pull request, and 
> previous commits have been removed. The
> incremental views will show differences compared to the previous content of 
> the PR. The pull request contains one new
> commit since the last revision:
>   JDK-8253239

make/autoconf/flags-cflags.m4 line 137:

> 135:   WARNINGS_ENABLE_ALL="-W3"
> 136:   DISABLED_WARNINGS="4800"
> 137:   if test "x$TOOLCHAIN_VERSION" = x2017; then

I would like a comment here explaining why we need to disable this warning, 
since it's caused by a faulty behavior in
the compiler.

make/autoconf/flags-cflags.m4 line 138:

> 136:   DISABLED_WARNINGS="4800"
> 137:   if test "x$TOOLCHAIN_VERSION" = x2017; then
> 138: DISABLED_WARNINGS+=" 4307"

Suggestion:

# VS2017 incorrectly triggers this warning for constexpr
DISABLED_WARNINGS+=" 4307"

-

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: 8252998: ModuleWrapper.gmk doesn't consult include path

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 12:07:45 GMT, Adam Farley  wrote:

> A change made to ModuleWrapper.gmk as part of JDK-8244044 means that an 
> included makefile is found in the current
> directory, so Make doesn't check the include dirs for overriding gmk files.
> Recommend a minor, partial reversion of this changeset to ensure any override 
> files are included instead.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8252998

Looks good.

-

Marked as reviewed by erikj (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/250


Re: RFR: 8253000: Remove redundant MAKE_SUBDIR argument

2020-09-18 Thread Erik Joelsson
On Fri, 18 Sep 2020 11:37:06 GMT, Adam Farley  wrote:

> As part of JDK-8244044, MAKE_SUBDIR is no longer used in 
> DeclareRecipesForPhase inside MakeSupport.gmk.
> 
> Therefore, it seems sensible to modify the instances where this is passed to 
> DeclareRecipesForPhase, and to remove
> references to it from the associated MakeSupport.gmk comment.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8253000

Looks good, thanks for cleaning this up!

-

Marked as reviewed by erikj (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/249


RFR: 8252998: ModuleWrapper.gmk doesn't consult include path

2020-09-18 Thread Adam Farley
A change made to ModuleWrapper.gmk as part of JDK-8244044 means that an 
included makefile is found in the current
directory, so Make doesn't check the include dirs for overriding gmk files.

Recommend a minor, partial reversion of this changeset to ensure any override 
files are included instead.

Bug: https://bugs.openjdk.java.net/browse/JDK-8252998

-

Commit messages:
 - 8252998: ModuleWrapper.gmk doesn't consult include path

Changes: https://git.openjdk.java.net/jdk/pull/250/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=250=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8252998
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/250.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/250/head:pull/250

PR: https://git.openjdk.java.net/jdk/pull/250


RFR: 8253000: Remove redundant MAKE_SUBDIR argument

2020-09-18 Thread Adam Farley
As part of JDK-8244044, MAKE_SUBDIR is no longer used in DeclareRecipesForPhase 
inside MakeSupport.gmk.

Therefore, it seems sensible to modify the instances where this is passed to 
DeclareRecipesForPhase, and to remove
references to it from the associated MakeSupport.gmk comment.

Bug: https://bugs.openjdk.java.net/browse/JDK-8253000

-

Commit messages:
 - 8253000: Remove redundant MAKE_SUBDIR argument

Changes: https://git.openjdk.java.net/jdk/pull/249/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=249=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253000
  Stats: 7 lines in 2 files changed: 0 ins; 7 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/249.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/249/head:pull/249

PR: https://git.openjdk.java.net/jdk/pull/249


Re: RFR: 8252999: Cleanup: replace .equals("") with .isEmpty() within all codebase

2020-09-18 Thread Dmitriy Dumanskiy
On Fri, 18 Sep 2020 02:48:15 GMT, Stuart Marks  wrote:

>> Our local Santuario maintainer says:
>> 
>> In general, changes to Apache Santuario should also be made at Apache so we 
>> stay in sync.
>
> Hi @doom369, I hope we didn't end up wasting too much of your time with this. 
> I wanted to respond to a comment you made
> earlier in this PR,
>> I have in mind dozens of improvements all over the code like this one.
> 
> It's hard to see, but as you discovered, the JDK has different groups of 
> people maintaining different areas, and
> sometimes there are hidden constraints on those different areas, for example, 
> to avoid divergence with upstream source
> bases. And as you discovered, sometimes those source bases might need to 
> maintain compatibility with an older JDK ...
> so we don't want to update this code even though it's IN the JDK.  Those kind 
> of constraints generally don't apply to
> code in the java.base module, since there's nothing upstream of it, and by 
> definition it cannot depend on anything
> outside the JDK. Generally -- though there are exceptions -- we're more 
> receptive to keeping stuff in java.base (and
> sometimes related modules close to the core) on the latest and greatest 
> stuff. There are some constraints, however.
> There are some things we can't use too early during initialization of the 
> JDK, such as lambdas. Also, there is some
> code lurking around that is sometimes executed by the boot JDK, which is 
> typically one release behind. (This is
> definitely the case for tools like javac, but I think it might also apply to 
> some things in base.)  Anyway, if you'd
> like to pursue some of these improvements, drop a note to 
> core-libs-dev@openjdk and we can talk about it.  Thanks.

@stuart-marks thanks. Sure, I understand that maintaining OpenJDK is not a 
simple task. I thought as change is super
simple without any side effects it can go through. But I was wrong. That's 
fine. I'll focus on `java.base` when I have
some free time.

-

PR: https://git.openjdk.java.net/jdk/pull/29


Re: RFR: JDK-8247589: Implementation of Alpine Linux/x64 Port [v2]

2020-09-18 Thread Aleksei Voitylov
On Mon, 14 Sep 2020 06:30:50 GMT, Aleksei Voitylov  
wrote:

>> Marked as reviewed by dholmes (Reviewer).
>
> thank you Alan, Erik, and David! When the JEP becomes Targeted, I'll use this 
> PR to integrate the changes.

I added the contributors that could be found in the portola project commits. If 
anyone knows some other contributors I
missed, I'll be happy to stand corrected.

-

PR: https://git.openjdk.java.net/jdk/pull/49


RFR: 8248238: Implementation of JEP: Windows AArch64 Support

2020-09-18 Thread Monica Beckwith
This is a continuation of 
https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009566.html
 
Changes since then:
* We've improved the write barrier as suggested by Andrew [1]
* The define-guards around R18 have been changed to `R18_RESERVED`. This will 
be enabled for Windows only for now but
  will be required for the upcoming macOS+Aarch64 [2] port as well.
* We've incorporated https://github.com/openjdk/jdk/pull/154 by @AntonKozlov in 
our PR for now and built the
  Windows-specific CPU feature detection on top of it.

[1] 
https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009597.html
[2] https://openjdk.java.net/jeps/8251280

-

Commit messages:
 - 8248787: G1: Workaround MSVC bug
 - 8248670: Windows: Exception handling support on AArch64
 - 8248660: AArch64: Make _clear_cache and _nop portable
 - 8248659: AArch64: Extend CPU Feature detection
 - 8248656: Add Windows AArch64 platform support code
 - 8248498: Add build system support for Windows AArch64
 - 8248681: AArch64: MSVC doesn't support __PRETTY_FUNCTION__
 - 8248663: AArch64: Avoid existing macros/keywords of MSVC
 - 8248676: AArch64: Add workaround for LITable constructor
 - 8248500: AArch64: Remove the r18 dependency on Windows AArch64 (regenerate 
tests)
 - ... and 3 more: https://git.openjdk.java.net/jdk/compare/68da63dc...26e4af3a

Changes: https://git.openjdk.java.net/jdk/pull/212/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=212=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8248238
  Stats: 4230 lines in 69 files changed: 2406 ins; 273 del; 1551 mod
  Patch: https://git.openjdk.java.net/jdk/pull/212.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/212/head:pull/212

PR: https://git.openjdk.java.net/jdk/pull/212


Re: RFR: JDK-8253239: Disable VS warning C4307 [v2]

2020-09-18 Thread Matthias Baesken
On Fri, 18 Sep 2020 08:57:36 GMT, Aleksey Shipilev  wrote:

>> Matthias Baesken has refreshed the contents of this pull request, and 
>> previous commits have been removed. The
>> incremental views will show differences compared to the previous content of 
>> the PR. The pull request contains one new
>> commit since the last revision:
>>   JDK-8253239
>
> make/autoconf/flags-cflags.m4 line 138:
> 
>> 136:   DISABLED_WARNINGS="4800"
>> 137:   if test "x$TOOLCHAIN_VERSION" = x2017; then
>> 138:   DISABLED_WARNINGS+=" 4307"
> 
> Seems like this file uses 2 spaces as indenting, 4 spaces are used here.

You Are right, I adjusted the indenting to 2 sapces and did a git commit  
--amend and repushed it.

-

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: JDK-8253239: Disable VS warning C4307 [v2]

2020-09-18 Thread Matthias Baesken
> hello, this fixes the build when using VS2017. VS2019 does not have the issue 
> as far as I know.
> failure was
> 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>> treated as error - no 'object' file generated
>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>> function template instantiation 'void
>> static_test_alignments(void)' being compiled with
>> [
>> T=int64_t,
>> A=uint8_t
>> ]
>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>> function template instantiation 'void
>> test_alignments(void)' being compiled 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>> C4307: '+': integral constant overflow
>>
>>
> 
> This might be related to an issue fixed at least in some versions of VS2019 , 
> that is discussed here :
> 
> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
> 
> https://bugs.openjdk.java.net/browse/JDK-8253239

Matthias Baesken has refreshed the contents of this pull request, and previous 
commits have been removed. The
incremental views will show differences compared to the previous content of the 
PR. The pull request contains one new
commit since the last revision:

  JDK-8253239

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/237/files
  - new: https://git.openjdk.java.net/jdk/pull/237/files/0d1d38b3..4e82edcb

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=237=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=237=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/237.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/237/head:pull/237

PR: https://git.openjdk.java.net/jdk/pull/237


Re: RFR: JDK-8253239: Disable VS warning C4307 [v2]

2020-09-18 Thread Aleksey Shipilev
On Fri, 18 Sep 2020 10:00:55 GMT, Matthias Baesken  wrote:

>> hello, this fixes the build when using VS2017. VS2019 does not have the 
>> issue as far as I know.
>> failure was
>> 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>>> treated as error - no 'object' file generated
>>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>>> function template instantiation 'void
>>> static_test_alignments(void)' being compiled with
>>> [
>>> T=int64_t,
>>> A=uint8_t
>>> ]
>>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>>> function template instantiation 'void
>>> test_alignments(void)' being compiled 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>>> C4307: '+': integral constant overflow
>>>
>>>
>> 
>> This might be related to an issue fixed at least in some versions of VS2019 
>> , that is discussed here :
>> 
>> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8253239
>
> Matthias Baesken has refreshed the contents of this pull request, and 
> previous commits have been removed. The
> incremental views will show differences compared to the previous content of 
> the PR. The pull request contains one new
> commit since the last revision:
>   JDK-8253239

This looks fine to me, but build maintainers should approve.

-

PR: https://git.openjdk.java.net/jdk/pull/237


Re: [8u] RFR: 8252975: [8u] JDK-8252395 breaks the build for --with-native-debug-symbols=internal

2020-09-18 Thread Severin Gehwolf
Hi Andrew,

On Fri, 2020-09-18 at 06:40 +0100, Andrew Hughes wrote:
> On 20:16 Wed 09 Sep , Severin Gehwolf wrote:
> > Hi,
> > 
> > Please review this 8u (jdk8u/jdk8u-dev tree) fix for JDK-8252395 that
> > I've pushed today. Thanks for Zhengyu Gu for noticing it. The pushed
> > fix added the java.debuginfo and unpack.debuginfo make targets on the
> > condition of ENABLE_DEBUG_SYMBOLS=true, which is insufficient. It needs
> > another check on POST_STRIP_CMD which is set to non-empty for --with-
> > native-debug-symbols={external,zipped}, and is indeed empty for --with-
> > native-debug-symbols=internal. For the --with-native-debug-symbols=none 
> > case we have ENABLE_DEBUG_SYMBOLS=false.
> > 
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8252975
> > webrev: https://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8252975/01/webrev/
> > 
> > Testing: Builds with 
> > --with-native-debug-symbols={none,internal,external,zipped} on Linux x86_64
> > 
> > OK?
> > 
> > Thanks,
> > Severin
> > 
> 
> Build is still broken for me with this patch:
> 
> /usr/bin/cp /home/ahughes/builder/8u-dev/jdk/objs/java_objs/java.diz 
> /home/ahughes/builder/8u-dev/jdk/bin/java.diz
> /usr/bin/cp: cannot stat 
> '/home/ahughes/builder/8u-dev/jdk/objs/java_objs/java.diz': No such file or 
> directory
> 
> where --with-native-debug-symbols is not set (pre-JDK-8207324)

Hmm, I'm not sure how you are building. I've checked builds with:

$ bash configure \
 --with-boot-jdk="/some/boot/jdk" \
 --with-extra-cflags=-Wno-error \
 --disable-zip-debug-info
$ make images

and

$ bash configure \
 --with-boot-jdk="/some/boot/jdk" \
 --with-extra-cflags=-Wno-error
$ make images

and

$ bash configure \
 --with-boot-jdk="/some/boot/jdk" \
 --with-extra-cflags=-Wno-error \
 --disable-debug-symbols
$ make images

All seem to work fine for me. Are you sure you are not
setting POST_STRIP_CMD or the like explicitly somewhere else. Please
post the exact configure/make invocations you are using.

FWIW, that bug you've referenced seems wrong:
8207324: aarch64 jtreg: assert in TestOptionsWithRanges.jtr

You probably meant JDK-8036003:
8036003: Add --with-native-debug-symbols=[none|internal|external|zipped]

> The use of these two conditionals seems odd to me. What we want to know
> is whether zipped debuginfo is in use.

No. We want to know whether or not external debug symbols (zipped or
otherwise) are in use.

> This is not the same as debug symbols
> in general being enabled.

Yes. Correctly so.

> Also, DEBUGINFO_EXT is only being set when
> ZIP_DEBUGINFO_FILES is true!

How so?

ifeq ($(ZIP_DEBUGINFO_FILES), true)
  DEBUGINFO_EXT := .diz
else ifeq ($(OPENJDK_TARGET_OS), macosx)
  DEBUGINFO_EXT := .dSYM
else ifeq ($(OPENJDK_TARGET_OS), windows)
  DEBUGINFO_EXT := .pdb
else
  DEBUGINFO_EXT := .debuginfo
endif

On Linux with --with-native-debug-symbols=external this ends up with:

DEBUGINFO_EXT := .debuginfo

> POST_STRIP_CMD seems to only be used in image creation, so I don't
> think checking this is appropriate either.

Seems debatable.

> Instead, we should mirror what is done in make/common/NativeCompilation.gmk 
> when
> creating the .diz files:
> 
> -ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
> -  ifneq ($(POST_STRIP_CMD), )
> +ifeq ($(ZIP_DEBUGINFO_FILES), true)
> +  ifneq ($(STRIP_POLICY), no_strip)
> 
> The second check is necessary because ZIP_DEBUGINFO_FILES is set by default,
> and so may be true even if STRIP_POLICY has been set to no_strip.

Your patch won't work for --with-native-debug-symbols=external. In that
case no *.debuginfo files for the java and unpack200 launchers would be
created.

With your patch:
$ find build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/ | grep 
-E 'java\.debuginfo|unpack200\.debuginfo'


Expected:
$ find build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/ | grep 
-E 'java\.debuginfo|unpack200\.debuginfo'
build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java.debuginfo
build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200.debuginfo

> The attached patch fixed the build for me.

Sorry, I don't seem to be able to reproduce your build failure.

Thanks,
Severin



Re: RFR: JDK-8253239: Disable VS warning C4307

2020-09-18 Thread Aleksey Shipilev
On Fri, 18 Sep 2020 08:22:56 GMT, Matthias Baesken  wrote:

> hello, this fixes the build when using VS2017. VS2019 does not have the issue 
> as far as I know.
> failure was
> 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
>> treated as error - no 'object' file generated
>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
>> function template instantiation 'void
>> static_test_alignments(void)' being compiled with
>> [
>> T=int64_t,
>> A=uint8_t
>> ]
>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
>> function template instantiation 'void
>> test_alignments(void)' being compiled 
>> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>> C4307: '+': integral constant overflow
>>
>>
> 
> This might be related to an issue fixed at least in some versions of VS2019 , 
> that is discussed here :
> 
> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
> 
> https://bugs.openjdk.java.net/browse/JDK-8253239

make/autoconf/flags-cflags.m4 line 138:

> 136:   DISABLED_WARNINGS="4800"
> 137:   if test "x$TOOLCHAIN_VERSION" = x2017; then
> 138:   DISABLED_WARNINGS+=" 4307"

Seems like this file uses 2 spaces as indenting, 4 spaces are used here.

-

PR: https://git.openjdk.java.net/jdk/pull/237


RFR: JDK-8253239: Disable VS warning C4307

2020-09-18 Thread Matthias Baesken
hello, this fixes the build when using VS2017. VS2019 does not have the issue 
as far as I know.
failure was

> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning 
> treated as error - no 'object' file generated
> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to 
> function template instantiation 'void
> static_test_alignments(void)' being compiled with
> [
> T=int64_t,
> A=uint8_t
> ]
> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to 
> function template instantiation 'void
> test_alignments(void)' being compiled 
> ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
> C4307: '+': integral constant overflow
>
>

This might be related to an issue fixed at least in some versions of VS2019 , 
that is discussed here :

https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html

https://bugs.openjdk.java.net/browse/JDK-8253239

-

Commit messages:
 - JDK-8253239

Changes: https://git.openjdk.java.net/jdk/pull/237/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=237=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253239
  Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/237.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/237/head:pull/237

PR: https://git.openjdk.java.net/jdk/pull/237