Re: RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF [v11]

2024-07-15 Thread Mikael Vidstedt
On Tue, 9 Jul 2024 12:08:50 GMT, Hamlin Li  wrote:

>> Hi,
>> Can you help to review the patch?
>> This pr is based on previous work and discussion in [pr 
>> 16234](https://github.com/openjdk/jdk/pull/16234), [pr 
>> 18294](https://github.com/openjdk/jdk/pull/18294).
>> * NOTE: This pr depends on https://github.com/openjdk/jdk/pull/19185, which 
>> includes a README, a script to generate sleef inline headers and generated 
>> sleef inline headers.
>> 
>> Compared with previous prs, the major change in this pr is to integrate the 
>> source of sleef (for the steps, please check 
>> `src/jdk.incubator.vector/linux/native/libvectormath/README`), rather than 
>> depends on external sleef things (header or lib) at build or run time.
>> Besides of this change, also modify the previous changes accordingly, e.g. 
>> remove some uncessary files or changes especially in make dir of jdk.
>> 
>> Besides of the code changes, one important task is to handle the legal 
>> process.
>> 
>> Thanks!
>> 
>> ## Test
>> tests:
>> * test/jdk/jdk/incubator/vector/
>> * test/hotspot/jtreg/compiler/vectorapi/
>> 
>> options:
>> * -XX:UseSVE=1 -XX:+EnableVectorSupport -XX:+UseVectorStubs
>> * -XX:UseSVE=0 -XX:+EnableVectorSupport -XX:+UseVectorStubs
>> * -XX:+EnableVectorSupport -XX:-UseVectorStubs
>> 
>> ## Performance
>> 
>> ### Options
>> * +intrinsic: 
>> 'FORK=1;ITER=10;WARMUP_ITER=10;JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions 
>> -XX:+EnableVectorSupport -XX:+UseVectorStubs'
>> * -intrinsic: 
>> 'FORK=1;ITER=10;WARMUP_ITER=10;JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions 
>> -XX:+EnableVectorSupport -XX:-UseVectorStubs'
>> 
>> ### Float
>> data
>> 
>> Benchmark | (size) | Mode | Cnt | Error | Units | Score +intrinsic 
>> (UseSVE=1) | Score -intrinsic | Improvement(UseSVE=1) | Score +intrinsic 
>> (UseSVE=0) | Score -intrinsic | Improvement (UseSVE=0)
>> -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
>> Float128Vector.ACOS | 1024 | thrpt | 10 | 0.015 | ops/ms | 245.439 | 101.483 
>> | 2.419 | 245.733 | 102.033 | 2.408
>> Float128Vector.ASIN | 1024 | thrpt | 10 | 0.013 | ops/ms | 296.702 | 103.559 
>> | 2.865 | 296.741 | 103.18 | 2.876
>> Float128Vector.ATAN | 1024 | thrpt | 10 | 0.004 | ops/ms | 196.862 | 49.627 
>> | 3.967 | 195.891 | 49.771 | 3.936
>> Float128Vector.ATAN...
>
> Hamlin Li has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   skip TANH

I think the key question is whether we're comfortable relying on/pointing at an 
external repository which may or may not be there tomorrow and/or where tags 
may change outside of our control.

The SLEEF source code looks to be around 7.5MB, give or take. That's not 
enormous, but it's not exactly small when keeping in mind that if we `#include` 
it in the jdk repo it's going to be there for every cloned repo in every 
project/branch and very few will actually care about it. I agree that we'd 
still have to include the pre-generated header files.

Hence my suggestion to consider putting it under our control, but in a separate 
`openjdk` controlled repository.

-

PR Comment: https://git.openjdk.org/jdk/pull/18605#issuecomment-2229457499


Re: RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF [v11]

2024-07-15 Thread Mikael Vidstedt
On Tue, 9 Jul 2024 12:08:50 GMT, Hamlin Li  wrote:

>> Hi,
>> Can you help to review the patch?
>> This pr is based on previous work and discussion in [pr 
>> 16234](https://github.com/openjdk/jdk/pull/16234), [pr 
>> 18294](https://github.com/openjdk/jdk/pull/18294).
>> * NOTE: This pr depends on https://github.com/openjdk/jdk/pull/19185, which 
>> includes a README, a script to generate sleef inline headers and generated 
>> sleef inline headers.
>> 
>> Compared with previous prs, the major change in this pr is to integrate the 
>> source of sleef (for the steps, please check 
>> `src/jdk.incubator.vector/linux/native/libvectormath/README`), rather than 
>> depends on external sleef things (header or lib) at build or run time.
>> Besides of this change, also modify the previous changes accordingly, e.g. 
>> remove some uncessary files or changes especially in make dir of jdk.
>> 
>> Besides of the code changes, one important task is to handle the legal 
>> process.
>> 
>> Thanks!
>> 
>> ## Test
>> tests:
>> * test/jdk/jdk/incubator/vector/
>> * test/hotspot/jtreg/compiler/vectorapi/
>> 
>> options:
>> * -XX:UseSVE=1 -XX:+EnableVectorSupport -XX:+UseVectorStubs
>> * -XX:UseSVE=0 -XX:+EnableVectorSupport -XX:+UseVectorStubs
>> * -XX:+EnableVectorSupport -XX:-UseVectorStubs
>> 
>> ## Performance
>> 
>> ### Options
>> * +intrinsic: 
>> 'FORK=1;ITER=10;WARMUP_ITER=10;JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions 
>> -XX:+EnableVectorSupport -XX:+UseVectorStubs'
>> * -intrinsic: 
>> 'FORK=1;ITER=10;WARMUP_ITER=10;JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions 
>> -XX:+EnableVectorSupport -XX:-UseVectorStubs'
>> 
>> ### Float
>> data
>> 
>> Benchmark | (size) | Mode | Cnt | Error | Units | Score +intrinsic 
>> (UseSVE=1) | Score -intrinsic | Improvement(UseSVE=1) | Score +intrinsic 
>> (UseSVE=0) | Score -intrinsic | Improvement (UseSVE=0)
>> -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
>> Float128Vector.ACOS | 1024 | thrpt | 10 | 0.015 | ops/ms | 245.439 | 101.483 
>> | 2.419 | 245.733 | 102.033 | 2.408
>> Float128Vector.ASIN | 1024 | thrpt | 10 | 0.013 | ops/ms | 296.702 | 103.559 
>> | 2.865 | 296.741 | 103.18 | 2.876
>> Float128Vector.ATAN | 1024 | thrpt | 10 | 0.004 | ops/ms | 196.862 | 49.627 
>> | 3.967 | 195.891 | 49.771 | 3.936
>> Float128Vector.ATAN...
>
> Hamlin Li has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   skip TANH

If we want the traceability (which I agree is good) of the SLEEF source code 
but want to avoid having it in the jdk repo itself (adding unnecessary "bloat" 
for everybody), perhaps we can consider having it in a separate repository 
somewhere in/under `openjdk`?

It's not immediately clear to me that we need to have support in the JDK build 
system (configure/make) itself for building/updating the header files, as long 
as there's a simple, documented way of doing so. I like to think the 
`createSleef.sh` script is that, but I recognize that I'm biased because I 
wrote it.

-

PR Comment: https://git.openjdk.org/jdk/pull/18605#issuecomment-2229380066


Re: RFR: 8329816: Add SLEEF version 3.6.1

2024-06-27 Thread Mikael Vidstedt
On Mon, 24 Jun 2024 13:30:35 GMT, Hamlin Li  wrote:

>> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
>> optimize vector math operations by leveraging the SLEEF library. For legal 
>> reasons the actual contribution of the SLEEF files needs to be handled 
>> separately. This enhancement adds the relevant files, enabling the rest of 
>> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.
>
> In case you need it and avoid to generate yourself, I've generated sleef 
> inline header of 3.6.1 for riscv, it's at 
> https://github.com/openjdk/jdk/pull/18605/commits/c279a3c290554892939267d9ebe88198988d31a4

@Hamlin-Li I have generated the header files (two aarch64 and the new one for 
riscv64) using SLEEF 3.6.1. Please make sure they match your expectations!

-

PR Comment: https://git.openjdk.org/jdk/pull/19185#issuecomment-2195728763


Re: RFR: 8329816: Add SLEEF version 3.6.1 [v3]

2024-06-27 Thread Mikael Vidstedt
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
> optimize vector math operations by leveraging the SLEEF library. For legal 
> reasons the actual contribution of the SLEEF files needs to be handled 
> separately. This enhancement adds the relevant files, enabling the rest of 
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

Mikael Vidstedt has updated the pull request incrementally with one additional 
commit since the last revision:

  Update README to include RISC-V

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/19185/files
  - new: https://git.openjdk.org/jdk/pull/19185/files/b29de559..8a08ffa1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=19185=02
 - incr: https://webrevs.openjdk.org/?repo=jdk=19185=01-02

  Stats: 10 lines in 1 file changed: 9 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/19185.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19185/head:pull/19185

PR: https://git.openjdk.org/jdk/pull/19185


Re: RFR: 8329816: Add SLEEF version 3.6.1

2024-06-27 Thread Mikael Vidstedt
On Fri, 10 May 2024 22:32:29 GMT, Mikael Vidstedt  wrote:

> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
> optimize vector math operations by leveraging the SLEEF library. For legal 
> reasons the actual contribution of the SLEEF files needs to be handled 
> separately. This enhancement adds the relevant files, enabling the rest of 
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

I, too, envision that we'll be importing header files (only). That said, I'd 
very much prefer *not* to rename them as part of the import. If anything I 
could see us have architecture specific directories in which we place the 
respective files (and a common directory for `misc.h`), but it's not 
immediately clear to me that it's worth it given that the files are used in 
such a narrow context in the JDK.

-

PR Comment: https://git.openjdk.org/jdk/pull/19185#issuecomment-2128767164


Re: RFR: 8329816: Add SLEEF version 3.6.1 [v2]

2024-06-27 Thread Mikael Vidstedt
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
> optimize vector math operations by leveraging the SLEEF library. For legal 
> reasons the actual contribution of the SLEEF files needs to be handled 
> separately. This enhancement adds the relevant files, enabling the rest of 
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

Mikael Vidstedt 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 three additional 
commits since the last revision:

 - Add SLEEF version 3.6.1
 - Merge branch 'master' into 8329816-sleef
 - 8329816: Add SLEEF version 3.6

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/19185/files
  - new: https://git.openjdk.org/jdk/pull/19185/files/b02efa6b..b29de559

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=19185=01
 - incr: https://webrevs.openjdk.org/?repo=jdk=19185=00-01

  Stats: 160121 lines in 2836 files changed: 111602 ins; 34872 del; 13647 mod
  Patch: https://git.openjdk.org/jdk/pull/19185.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19185/head:pull/19185

PR: https://git.openjdk.org/jdk/pull/19185


Integrated: 8332849: Update doc/testing.{md, html} (spelling and stale information)

2024-05-28 Thread Mikael Vidstedt
On Thu, 23 May 2024 23:22:51 GMT, Mikael Vidstedt  wrote:

> Update the testing doc to remove some stale information (AOT_MODULES, removed 
> in [JDK-8264805](https://bugs.openjdk.org/browse/JDK-8264805)) and fix some 
> spelling issues.
> 
> Testing: tier1

This pull request has now been integrated.

Changeset: da6aa2a8
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/da6aa2a86c86ba5fce747b36dcb2d6001cfcc44e
Stats: 43 lines in 2 files changed: 0 ins; 28 del; 15 mod

8332849: Update doc/testing.{md,html} (spelling and stale information)

Reviewed-by: iris, ihse, erikj, djelinski

-

PR: https://git.openjdk.org/jdk/pull/19375


Re: RFR: 8332849: Update doc/testing.{md,html} (spelling and stale information) [v2]

2024-05-28 Thread Mikael Vidstedt
On Fri, 24 May 2024 21:05:27 GMT, Mikael Vidstedt  wrote:

>> Update the testing doc to remove some stale information (AOT_MODULES, 
>> removed in [JDK-8264805](https://bugs.openjdk.org/browse/JDK-8264805)) and 
>> fix some spelling issues.
>> 
>> Testing: tier1
>
> Mikael Vidstedt has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Revert change to deliberately misspelled variables

Thank you for all the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/19375#issuecomment-2135734935


Re: RFR: 8332849: Update doc/testing.{md,html} (spelling and stale information) [v2]

2024-05-24 Thread Mikael Vidstedt
On Fri, 24 May 2024 12:50:59 GMT, Erik Joelsson  wrote:

>> doc/testing.html line 366:
>> 
>>> 364: to setting JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8, but using
>>> 365: the keyword format means that the JTREG variable is parsed
>>> 366: and verified for correctness, so JTREG="TIMEOUT_FACTOR=8"
>> 
>> this was a deliberate typo
>
> Indeed, these two were intentional to demonstrate the error handling of the 
> JTREG make variable.

Well that's embarrassing.. Thank you for the catch!

Fixed (reverted).

-

PR Review Comment: https://git.openjdk.org/jdk/pull/19375#discussion_r1614063368


Re: RFR: 8332849: Update doc/testing.{md,html} (spelling and stale information) [v2]

2024-05-24 Thread Mikael Vidstedt
> Update the testing doc to remove some stale information (AOT_MODULES, removed 
> in [JDK-8264805](https://bugs.openjdk.org/browse/JDK-8264805)) and fix some 
> spelling issues.
> 
> Testing: tier1

Mikael Vidstedt has updated the pull request incrementally with one additional 
commit since the last revision:

  Revert change to deliberately misspelled variables

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/19375/files
  - new: https://git.openjdk.org/jdk/pull/19375/files/859e52d1..88e930e1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=19375=01
 - incr: https://webrevs.openjdk.org/?repo=jdk=19375=00-01

  Stats: 3 lines in 2 files changed: 0 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/19375.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19375/head:pull/19375

PR: https://git.openjdk.org/jdk/pull/19375


RFR: 8332849: Update doc/testing.{md,html} (spelling and stale information)

2024-05-23 Thread Mikael Vidstedt
Update the testing doc to remove some stale information (AOT_MODULES, removed 
in [JDK-8264805](https://bugs.openjdk.org/browse/JDK-8264805)) and fix some 
spelling issues.

Testing: tier1

-

Commit messages:
 - 8332849: Update doc/testing.{md,html} (spelling and stale information)

Changes: https://git.openjdk.org/jdk/pull/19375/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk=19375=00
  Issue: https://bugs.openjdk.org/browse/JDK-8332849
  Stats: 46 lines in 2 files changed: 0 ins; 28 del; 18 mod
  Patch: https://git.openjdk.org/jdk/pull/19375.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19375/head:pull/19375

PR: https://git.openjdk.org/jdk/pull/19375


Re: RFR: 8329816: Add SLEEF version 3.6

2024-05-17 Thread Mikael Vidstedt
On Fri, 10 May 2024 22:32:29 GMT, Mikael Vidstedt  wrote:

> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
> optimize vector math operations by leveraging the SLEEF library. For legal 
> reasons the actual contribution of the SLEEF files needs to be handled 
> separately. This enhancement adds the relevant files, enabling the rest of 
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

Thank you Hamlin. I'll try to keep my eyes open for the announcement of the 
upcoming SLEEF release but do feel free to notify me if you see it first!

-

PR Comment: https://git.openjdk.org/jdk/pull/19185#issuecomment-211796


Re: RFR: 8329816: Add SLEEF version 3.6

2024-05-16 Thread Mikael Vidstedt
On Fri, 10 May 2024 22:32:29 GMT, Mikael Vidstedt  wrote:

> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
> optimize vector math operations by leveraging the SLEEF library. For legal 
> reasons the actual contribution of the SLEEF files needs to be handled 
> separately. This enhancement adds the relevant files, enabling the rest of 
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

Let me suggest that we wait for the next release of SLEEF to be released in 
that case since that release seems to be imminent. That way we'll get both the 
performance fixes *and* we can include the RISC-V header files at the same 
time. Fair?

-

PR Comment: https://git.openjdk.org/jdk/pull/19185#issuecomment-2115793711


Re: RFR: 8329816: Add SLEEF version 3.6

2024-05-13 Thread Mikael Vidstedt
On Fri, 10 May 2024 22:32:29 GMT, Mikael Vidstedt  wrote:

> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
> optimize vector math operations by leveraging the SLEEF library. For legal 
> reasons the actual contribution of the SLEEF files needs to be handled 
> separately. This enhancement adds the relevant files, enabling the rest of 
> [JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

Looks like that change is not yet in a released version of SLEEF, and in 
particular not in 3.6.

We do need updated approvals when we pick up new versions. Since we've gone 
through the process once it's typically easier/faster to do so. It will be 
technically easier/faster as well, now that I know how to do it and have 
encoded it in the createSleef.sh script.

-

PR Comment: https://git.openjdk.org/jdk/pull/19185#issuecomment-2108363977


RFR: 8329816: Add SLEEF version 3.6

2024-05-10 Thread Mikael Vidstedt
[JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) is looking to 
optimize vector math operations by leveraging the SLEEF library. For legal 
reasons the actual contribution of the SLEEF files needs to be handled 
separately. This enhancement adds the relevant files, enabling the rest of 
[JDK-8312425](https://bugs.openjdk.org/browse/JDK-8312425) to move forward.

-

Commit messages:
 - 8329816: Add SLEEF version 3.6

Changes: https://git.openjdk.org/jdk/pull/19185/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk=19185=00
  Issue: https://bugs.openjdk.org/browse/JDK-8329816
  Stats: 14313 lines in 6 files changed: 14313 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/19185.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19185/head:pull/19185

PR: https://git.openjdk.org/jdk/pull/19185


Re: RFR: 8331939: Add custom hook for TestImage

2024-05-08 Thread Mikael Vidstedt
On Wed, 8 May 2024 14:03:48 GMT, Erik Joelsson  wrote:

> We need a custom hook in TestImage.gmk to modify behavior when building with 
> custom source.

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/19139#pullrequestreview-2046326105


Re: RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF [v2]

2024-04-09 Thread Mikael Vidstedt
On Fri, 5 Apr 2024 12:17:17 GMT, Hamlin Li  wrote:

>> Hi,
>> Can you help to review the patch?
>> This pr is based on previous work and discussion in [pr 
>> 16234](https://github.com/openjdk/jdk/pull/16234), [pr 
>> 18294](https://github.com/openjdk/jdk/pull/18294).
>> 
>> Compared with previous prs, the major change in this pr is to integrate the 
>> source of sleef (for the steps, please check 
>> `src/jdk.incubator.vector/linux/native/libvectormath/README`), rather than 
>> depends on external sleef things (header or lib) at build or run time.
>> Besides of this change, also modify the previous changes accordingly, e.g. 
>> remove some uncessary files or changes especially in make dir of jdk.
>> 
>> Besides of the code changes, one important task is to handle the legal 
>> process.
>> 
>> Thanks!
>
> Hamlin Li has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - disable unused-function warnings; add log msg
>  - minor

Thank you for the update and for working on this in general.

I've started working on JDK-8329816, preparing the change for the SLEEF 
specific part of the change. Specifically, I'm currently planning on including 
the three SLEEF header files, the README and a legal/sleef.md file in that 
change. Let me know if you have any thoughts/concerns.

Also, just for my understanding, would love to understand your thoughts on the 
future here (I apologize if this was already discussed elsewhere):

It seem like SLEEF is (sort of) limited to linux at this point (the SLEEF 
README mentions that "Due to limited test capacities, SLEEF is currently only 
officially supported on Linux with gcc or llvm/clang." ). That same README 
does, however, indicate good test coverage on several architectures in addition 
to aarch64 (including x86_64, PPC, RISC-V). With that in mind, it looks like we 
could potentially use SLEEF for other architectures on linux in the future? And 
potentially additional operating systems as well?

-

PR Comment: https://git.openjdk.org/jdk/pull/18605#issuecomment-2045972249


Re: RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF

2024-04-04 Thread Mikael Vidstedt
On Wed, 3 Apr 2024 14:40:42 GMT, Hamlin Li  wrote:

> Hi,
> Can you help to review the patch?
> This pr is based on previous work and discussion in [pr 
> 16234](https://github.com/openjdk/jdk/pull/16234), [pr 
> 18294](https://github.com/openjdk/jdk/pull/18294).
> 
> Compared with previous prs, the major change in this pr is to integrate the 
> source of sleef (for the steps, please check 
> `src/jdk.incubator.vector/linux/native/libvectormath/README`), rather than 
> depends on external sleef things (header or lib) at build or run time.
> Besides of this change, also modify the previous changes accordingly, e.g. 
> remove some uncessary files or changes especially in make dir of jdk.
> 
> Besides of the code changes, one important task is to handle the legal 
> process.
> 
> Thanks!

make/modules/jdk.incubator.vector/Lib.gmk line 44:

> 42:   $(eval $(call SetupJdkLibrary, BUILD_LIBVECTORMATH, \
> 43:   NAME := vectormath, \
> 44:   CFLAGS := $(CFLAGS_JDKLIB) -Wno-error=unused-function, \

Should the unused-function be passed in using `DISABLE_WARNINGS_*` instead?

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 8601:

> 8599:   }
> 8600: } else {
> 8601:   log_info(library)("Failed to load native vector math library!");

Include the `ebuf` message? The corresponding x86_64 code could also use a log 
message for the error case.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18605#discussion_r1552502695
PR Review Comment: https://git.openjdk.org/jdk/pull/18605#discussion_r1552499482


Re: RFR: 8320799: Bump minimum boot jdk to JDK 22

2024-04-03 Thread Mikael Vidstedt
On Mon, 1 Apr 2024 16:16:50 GMT, Mikael Vidstedt  wrote:

> With the JDK 22 GA out it's time to bump the minimum boot JDK version for 
> mainline/JDK 23.
> 
> Testing: tier1-5, GHA

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/18563#issuecomment-2035049134


Integrated: 8320799: Bump minimum boot jdk to JDK 22

2024-04-03 Thread Mikael Vidstedt
On Mon, 1 Apr 2024 16:16:50 GMT, Mikael Vidstedt  wrote:

> With the JDK 22 GA out it's time to bump the minimum boot JDK version for 
> mainline/JDK 23.
> 
> Testing: tier1-5, GHA

This pull request has now been integrated.

Changeset: 023f7f17
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/023f7f176b32ffa38dd599ea110c2b9c18886b74
Stats: 12 lines in 3 files changed: 0 ins; 0 del; 12 mod

8320799: Bump minimum boot jdk to JDK 22

Reviewed-by: iris, erikj, ihse

-

PR: https://git.openjdk.org/jdk/pull/18563


RFR: 8320799: Bump minimum boot jdk to JDK 22

2024-04-01 Thread Mikael Vidstedt
With the JDK 22 GA out it's time to bump the minimum boot JDK version for 
mainline/JDK 23.

Testing: tier1-5, GHA

-

Commit messages:
 - 8320799: Bump minimum boot jdk to JDK 22

Changes: https://git.openjdk.org/jdk/pull/18563/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk=18563=00
  Issue: https://bugs.openjdk.org/browse/JDK-8320799
  Stats: 12 lines in 3 files changed: 0 ins; 0 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/18563.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18563/head:pull/18563

PR: https://git.openjdk.org/jdk/pull/18563


Re: RFR: 8017234: Hotspot should stop using mapfiles [v5]

2024-02-22 Thread Mikael Vidstedt
On Thu, 22 Feb 2024 16:15:23 GMT, Magnus Ihse Bursie  wrote:

>> **Summary:** Finally get rid of the mapfiles in Hotspot, and replace it with 
>> compiler options and `JNIEXPORT` on all platforms.
>> 
>> The bug that this PR solves, 
>> [JDK-8017234](https://bugs.openjdk.org/browse/JDK-8017234), was created in 
>> 2013. Even back then the use of mapfiles in Hotspot was dated, so this is 
>> really good riddance with old rubbish.
>> 
>> This code touches on central but not well understood parts of the Hotspot 
>> dynamic library, which has contributed to why this bug has stayed unresolved 
>> for so long. I will need to explain this fix in more detail than usually 
>> necessary. (Please bare with me if this gets long.) I also anticipate that 
>> not all solutions that I've picked will be accepted, and we'll have to 
>> discuss how to proceed. I think it is better to have actual concrete code to 
>> discuss around, rather than starting by an abstract discussion. To keep this 
>> description short, I will post the discussion as a comment to the PR.
>> 
>> I have run this PR through tier 1-3 in our CI system. I have also carefully 
>> checked how the resulting dynamic library differs with this patch (not much; 
>> see discussion below). For build system changes, this is often the most 
>> relevant metric.
>
> Magnus Ihse Bursie has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Use #pragma instead of HIDDEN define

Not a review but I did want to mention that I proved to myself that your 
addition of `.hidden` for the assembly file symbols is the right thing to do. 
In particular, when we compile the .cpp files with the `-fvisibility=hidden` 
flag that's exactly what g++ does in the background.

Just a thought: Perhaps worth introducing some kind of macro that captures 
defining a symbol in assembly code (something that does `.globl` + `.hidden` on 
Linux and `.private_extern` on `__APPLE__`?

Also, separate from this change: perhaps worth turning on whitespace checking 
(no tabs) for .S files?

-

PR Comment: https://git.openjdk.org/jdk/pull/17955#issuecomment-1960276436


Re: RFR: 8326371: [BACKOUT] Clean up NativeCompilation.gmk and its newly created parts

2024-02-20 Thread Mikael Vidstedt
On Wed, 21 Feb 2024 00:59:18 GMT, David Holmes  wrote:

> Revert "8325963: Clean up NativeCompilation.gmk and its newly created parts"
> 
> This reverts commit 1bd91cdebee1e9ec78ecf185529923eef40ff89c due to code 
> signing failures on macOS.
> 
> Thanks

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/17938#pullrequestreview-1891863168


Integrated: 8325800: Drop unused cups declaration from Oracle build configuration

2024-02-13 Thread Mikael Vidstedt
On Tue, 13 Feb 2024 20:47:01 GMT, Mikael Vidstedt  wrote:

> The cups dependency was used for Solaris builds, and has been unused since 
> [JDK-8244224](https://bugs.openjdk.org/browse/JDK-8244224).
> 
> Testing: tier1

This pull request has now been integrated.

Changeset: 8765b176
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/8765b176f97dbf334836f0aa6acd921d114304a9
Stats: 7 lines in 1 file changed: 0 ins; 6 del; 1 mod

8325800: Drop unused cups declaration from Oracle build configuration

Reviewed-by: erikj

-

PR: https://git.openjdk.org/jdk/pull/17837


Re: RFR: 8325800: Drop unused cups declaration from Oracle build configuration

2024-02-13 Thread Mikael Vidstedt
On Tue, 13 Feb 2024 20:47:01 GMT, Mikael Vidstedt  wrote:

> The cups dependency was used for Solaris builds, and has been unused since 
> [JDK-8244224](https://bugs.openjdk.org/browse/JDK-8244224).
> 
> Testing: tier1

Thank you for the review!

-

PR Comment: https://git.openjdk.org/jdk/pull/17837#issuecomment-1942580652


RFR: 8325800: Drop unused cups declaration from Oracle build configuration

2024-02-13 Thread Mikael Vidstedt
The cups dependency was used for Solaris builds, and has been unused since 
[JDK-8244224](https://bugs.openjdk.org/browse/JDK-8244224).

Testing: tier1

-

Commit messages:
 - 8325800: Drop unused cups declaration from Oracle build configuration

Changes: https://git.openjdk.org/jdk/pull/17837/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=17837=00
  Issue: https://bugs.openjdk.org/browse/JDK-8325800
  Stats: 7 lines in 1 file changed: 0 ins; 6 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/17837.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17837/head:pull/17837

PR: https://git.openjdk.org/jdk/pull/17837


Integrated: 8325570: Update to Graphviz 9.0.0

2024-02-12 Thread Mikael Vidstedt
On Fri, 9 Feb 2024 19:02:13 GMT, Mikael Vidstedt  wrote:

> Graphviz (aka. dotty/dot) is used when building "full" docs, and in 
> particular for creating various module graph images (.svg). This change 
> upgrades the Graphviz version used to 9.0.0 (latest).
> 
> In particular, the change:
> 
> * Updates the createGraphvizBundle.sh script (currently broken) to build 
> graphviz from source
> * Updates doc/building.{md,html} to reflect the role of Graphviz and Pandoc 
> in the build
> * The version of of the graphviz dependency used when building at Oracle (in 
> jib-profiles.js)
> 
> Since, in addition to the changes in this PR itself, the exact version of 
> Graphviz has an effect on the generated images, I have uploaded the docs 
> generated by graphviz 9.0.0 here: 
> https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/. For baseline 
> the latest jdk23 docs, which uses graphviz 2.38.0, should do the trick: 
> https://download.java.net/java/early_access/jdk23/docs/api/.
> 
> For example, picking a random .svg file:
> 
> baseline (graphviz 2.38.0): 
> https://download.java.net/java/early_access/jdk23/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg
> new (graphviz 9.0.0): 
> https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg
> 
> 
> Testing: tier1, manual inspection of a few of the generated .svg files
> 
> As far as I can tell there are only very minor differences between the old 
> (2.38.0) and new (9.0.0) .svg files. In particular, it seems like the new 
> graphs are ever so slightly (5-10% or so) larger, but otherwise appear to be 
> identical.

This pull request has now been integrated.

Changeset: 7c697123
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/7c6971239dd9af2a62aefb1163328c66c4507ef1
Stats: 123 lines in 4 files changed: 86 ins; 1 del; 36 mod

8325570: Update to Graphviz 9.0.0

Reviewed-by: erikj, pminborg, ihse, mchung, iris

-

PR: https://git.openjdk.org/jdk/pull/17794


Re: RFR: 8325570: Update to Graphviz 9.0.0

2024-02-12 Thread Mikael Vidstedt
On Fri, 9 Feb 2024 19:02:13 GMT, Mikael Vidstedt  wrote:

> Graphviz (aka. dotty/dot) is used when building "full" docs, and in 
> particular for creating various module graph images (.svg). This change 
> upgrades the Graphviz version used to 9.0.0 (latest).
> 
> In particular, the change:
> 
> * Updates the createGraphvizBundle.sh script (currently broken) to build 
> graphviz from source
> * Updates doc/building.{md,html} to reflect the role of Graphviz and Pandoc 
> in the build
> * The version of of the graphviz dependency used when building at Oracle (in 
> jib-profiles.js)
> 
> Since, in addition to the changes in this PR itself, the exact version of 
> Graphviz has an effect on the generated images, I have uploaded the docs 
> generated by graphviz 9.0.0 here: 
> https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/. For baseline 
> the latest jdk23 docs, which uses graphviz 2.38.0, should do the trick: 
> https://download.java.net/java/early_access/jdk23/docs/api/.
> 
> For example, picking a random .svg file:
> 
> baseline (graphviz 2.38.0): 
> https://download.java.net/java/early_access/jdk23/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg
> new (graphviz 9.0.0): 
> https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg
> 
> 
> Testing: tier1, manual inspection of a few of the generated .svg files
> 
> As far as I can tell there are only very minor differences between the old 
> (2.38.0) and new (9.0.0) .svg files. In particular, it seems like the new 
> graphs are ever so slightly (5-10% or so) larger, but otherwise appear to be 
> identical.

Thank you for all the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/17794#issuecomment-1939516107


Re: RFR: 8325570: Update to Graphviz 9.0.0

2024-02-09 Thread Mikael Vidstedt
On Fri, 9 Feb 2024 19:32:01 GMT, Erik Joelsson  wrote:

> Quick question, since configure scans for dot, will platform-specific pandoc 
> (like Windows pandoc) lead to different image outputs?

AFAIU pandoc is not involved in the generation of the .svg images. The .dot 
files are generated by the taglet build tool 
(https://github.com/openjdk/jdk/tree/master/make/jdk/src/classes/build/tools/taglet)
 and graphviz (dot) is used to convert the .dot files to .svg images.

-

PR Comment: https://git.openjdk.org/jdk/pull/17794#issuecomment-1936491417


RFR: 8325570: Update to Graphviz 9.0.0

2024-02-09 Thread Mikael Vidstedt
Graphviz (aka. dotty/dot) is used when building "full" docs, and in particular 
for creating various module graph images (.svg). This change upgrades the 
Graphviz version used to 9.0.0 (latest).

In particular, the change:

* Updates the createGraphvizBundle.sh script (currently broken) to build 
graphviz from source
* Updates doc/building.{md,html} to reflect the role of Graphviz and Pandoc in 
the build
* The version of of the graphviz dependency used when building at Oracle (in 
jib-profiles.js)

Since, in addition to the changes in this PR itself, the exact version of 
Graphviz has an effect on the generated images, I have uploaded the docs 
generated by graphviz 9.0.0 here: 
https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/. For baseline 
the latest jdk23 docs, which uses graphviz 2.38.0, should do the trick: 
https://download.java.net/java/early_access/jdk23/docs/api/.

For example, picking a random .svg file:

baseline (graphviz 2.38.0): 
https://download.java.net/java/early_access/jdk23/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg
new (graphviz 9.0.0): 
https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg


Testing: tier1, manual inspection of a few of the generated .svg files

As far as I can tell there are only very minor differences between the old 
(2.38.0) and new (9.0.0) .svg files. In particular, it seems like the new 
graphs are ever so slightly (5-10% or so) larger, but otherwise appear to be 
identical.

-

Commit messages:
 - 8325570: Update to Graphviz 9.0.0

Changes: https://git.openjdk.org/jdk/pull/17794/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=17794=00
  Issue: https://bugs.openjdk.org/browse/JDK-8325570
  Stats: 123 lines in 4 files changed: 86 ins; 1 del; 36 mod
  Patch: https://git.openjdk.org/jdk/pull/17794.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17794/head:pull/17794

PR: https://git.openjdk.org/jdk/pull/17794


Re: [jdk22] RFR: 8319547: Remove EA from the JDK 22 version string with first RC promotion

2024-02-05 Thread Mikael Vidstedt
On Tue, 6 Feb 2024 00:14:40 GMT, Jesper Wilhelmsson  
wrote:

> Removed ea from the version string

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk22/pull/106#pullrequestreview-1864071852


Re: RFR: 8274300: Address dsymutil warning by excluding platform specific files

2024-01-09 Thread Mikael Vidstedt
On Tue, 9 Jan 2024 07:50:36 GMT, David Holmes  wrote:

> > We run dsymutils on the libraries (e.g. `libjvm.dylib`) to extract the 
> > debug symbols.
> 
> So how does it know about empty files??? Does an empty src file create an 
> empty object file which in turns creates an empty section in the library?

Right: (effectively) empty source file -> (effectively) empty object file -> 
(effectively) empty library.

-

PR Comment: https://git.openjdk.org/jdk/pull/17287#issuecomment-1883640395


Re: RFR: 8274300: Address dsymutil warning by excluding platform specific files

2024-01-08 Thread Mikael Vidstedt
On Mon, 8 Jan 2024 02:46:03 GMT, David Holmes  wrote:

> Are we passing the wrong set of files to dsymutils? I'm guessing it is 
> actually passed a set of object files not source files.

We run dsymutils on the libraries (e.g. `libjvm.dylib`) to extract the debug 
symbols.

-

PR Comment: https://git.openjdk.org/jdk/pull/17287#issuecomment-1881758241


Re: RFR: 8274300: Address dsymutil warning by excluding platform specific files

2024-01-08 Thread Mikael Vidstedt
On Fri, 5 Jan 2024 21:05:49 GMT, Mikael Vidstedt  wrote:

> When building on macOS, dsymutil generates a warning for some files:
> 
> `warning: no debug symbols in executable (-arch x86_64)`
> 
> It turns out that the files in question have one thing in common: they're 
> empty. Specifically, the source files have include guards which, on macOS, 
> end up excluding all the actual source code, leaving an effectively empty 
> source file and hence empty object file.
> 
> This change excludes the relevant files from the builds/platforms where 
> they're not needed.
> 
> Testing: tier1,builds-tier[2-5]

Thank you for the reviews.

-

PR Comment: https://git.openjdk.org/jdk/pull/17287#issuecomment-1881758863


Integrated: 8274300: Address dsymutil warning by excluding platform specific files

2024-01-08 Thread Mikael Vidstedt
On Fri, 5 Jan 2024 21:05:49 GMT, Mikael Vidstedt  wrote:

> When building on macOS, dsymutil generates a warning for some files:
> 
> `warning: no debug symbols in executable (-arch x86_64)`
> 
> It turns out that the files in question have one thing in common: they're 
> empty. Specifically, the source files have include guards which, on macOS, 
> end up excluding all the actual source code, leaving an effectively empty 
> source file and hence empty object file.
> 
> This change excludes the relevant files from the builds/platforms where 
> they're not needed.
> 
> Testing: tier1,builds-tier[2-5]

This pull request has now been integrated.

Changeset: 8a4dc79e
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/8a4dc79e1a40e7115e2971af81623b6b0368f41c
Stats: 11 lines in 2 files changed: 9 ins; 0 del; 2 mod

8274300: Address dsymutil warning by excluding platform specific files

Reviewed-by: erikj

-

PR: https://git.openjdk.org/jdk/pull/17287


Re: RFR: 8274300: Address dsymutil warning by excluding platform specific files

2024-01-08 Thread Mikael Vidstedt
On Mon, 8 Jan 2024 02:41:29 GMT, David Holmes  wrote:

>> When building on macOS, dsymutil generates a warning for some files:
>> 
>> `warning: no debug symbols in executable (-arch x86_64)`
>> 
>> It turns out that the files in question have one thing in common: they're 
>> empty. Specifically, the source files have include guards which, on macOS, 
>> end up excluding all the actual source code, leaving an effectively empty 
>> source file and hence empty object file.
>> 
>> This change excludes the relevant files from the builds/platforms where 
>> they're not needed.
>> 
>> Testing: tier1,builds-tier[2-5]
>
> make/test/JtregNativeHotspot.gmk line 862:
> 
>> 860: ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, 
>> aarch64)), false)
>> 861:   BUILD_HOTSPOT_JTREG_EXCLUDE += libTestSVEWithJNI.c
>> 862: endif
> 
> I would have put this inside the existing Linux section  ie move to before 
> the endif at line 858, and then just check for aarch64.

It's the other way around - this test is excluded for all platforms _but_ 
linux-aarch64 (note the `false`).

-

PR Review Comment: https://git.openjdk.org/jdk/pull/17287#discussion_r1445235539


RFR: 8274300: Address dsymutil warning by excluding platform specific files

2024-01-05 Thread Mikael Vidstedt
When building on macOS, dsymutil generates a warning for some files:

`warning: no debug symbols in executable (-arch x86_64)`

It turns out that the files in question have one thing in common: they're 
empty. Specifically, the source files have include guards which, on macOS, end 
up excluding all the actual source code, leaving an effectively empty source 
file and hence empty object file.

This change excludes the relevant files from the builds/platforms where they're 
not needed.

Testing: tier1,builds-tier[2-5]

-

Commit messages:
 - Update copyright year
 - 8274300: Address dsymutil warning by excluding platform specific files

Changes: https://git.openjdk.org/jdk/pull/17287/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=17287=00
  Issue: https://bugs.openjdk.org/browse/JDK-8274300
  Stats: 11 lines in 2 files changed: 9 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/17287.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17287/head:pull/17287

PR: https://git.openjdk.org/jdk/pull/17287


Integrated: 8322873: Duplicate -ljava -ljvm options for libinstrument

2024-01-03 Thread Mikael Vidstedt
On Tue, 2 Jan 2024 21:44:04 GMT, Mikael Vidstedt  wrote:

> The libinstrument library is linked against libjava and libjvm, twice. This 
> is mostly harmless but Xcode 15.x generates a warning:
> 
> Creating support/modules_libs/java.instrument/libinstrument.dylib from 12 
> file(s)
> ld: warning: ignoring duplicate libraries: '-ljava', '-ljvm'
> 
> In particular, note that the `JDKLIB_LIBS` variable passed in to `LIBS` 
> already contains the -ljava -ljvm options. Digging through the history it 
> seems like this issue was introduced with 
> [JDK-8141290](https://bugs.openjdk.org/browse/JDK-8141290).
> 
> Testing: tier1,builds-tier[2-5]

This pull request has now been integrated.

Changeset: 296c5b64
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/296c5b645a2ecd8293a02233962c4a316a506c52
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod

8322873: Duplicate -ljava -ljvm options for libinstrument

Reviewed-by: dholmes, jwaters, erikj

-

PR: https://git.openjdk.org/jdk/pull/17230


Re: RFR: 8322873: Duplicate -ljava -ljvm options for libinstrument

2024-01-03 Thread Mikael Vidstedt
On Tue, 2 Jan 2024 21:44:04 GMT, Mikael Vidstedt  wrote:

> The libinstrument library is linked against libjava and libjvm, twice. This 
> is mostly harmless but Xcode 15.x generates a warning:
> 
> Creating support/modules_libs/java.instrument/libinstrument.dylib from 12 
> file(s)
> ld: warning: ignoring duplicate libraries: '-ljava', '-ljvm'
> 
> In particular, note that the `JDKLIB_LIBS` variable passed in to `LIBS` 
> already contains the -ljava -ljvm options. Digging through the history it 
> seems like this issue was introduced with 
> [JDK-8141290](https://bugs.openjdk.org/browse/JDK-8141290).
> 
> Testing: tier1,builds-tier[2-5]

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/17230#issuecomment-1875852891


RFR: 8322873: Duplicate -ljava -ljvm options for libinstrument

2024-01-02 Thread Mikael Vidstedt
The libinstrument library is linked against libjava and libjvm, twice. This is 
mostly harmless but Xcode 15.x generates a warning:

Creating support/modules_libs/java.instrument/libinstrument.dylib from 12 
file(s)
ld: warning: ignoring duplicate libraries: '-ljava', '-ljvm'

In particular, note that the `JDKLIB_LIBS` variable passed in to `LIBS` already 
contains the -ljava -ljvm options. Digging through the history it seems like 
this issue was introduced with 
[JDK-8141290](https://bugs.openjdk.org/browse/JDK-8141290).

Testing: tier1,builds-tier[2-5] (in progress)

-

Commit messages:
 - 8322873: Duplicate -ljava -ljvm options for libinstrument

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

PR: https://git.openjdk.org/jdk/pull/17230


Re: RFR: 8320942: Only set openjdk-target when cross compiling linux-aarch64

2023-11-29 Thread Mikael Vidstedt
On Wed, 29 Nov 2023 02:25:20 GMT, Mikael Vidstedt  wrote:

> When building linux-aarch64 at Oracle using jib, 
> --openjdk-target=aarch64-linux-gnu is always specified regardless of if 
> building natively or cross compiling (on linux-x64). Among other things this 
> has the (harmless) effect of tricking configure into thinking that it's cross 
> compiling even for native builds:
> 
> checking whether we are cross compiling... yes
> 
> The reason is that the target value (aarch64-linux-gnu) doesn't match what 
> config.guess returns (aarch64-unknown-linux-gnu). An explicit target is only 
> needed when cross compiling and should not be specified for native builds.

Thank you for the reviews!

Since the question of what exactly constitutes cross compilation is orthogonal 
to this change I'll go ahead and integrate it.

-

PR Comment: https://git.openjdk.org/jdk/pull/16873#issuecomment-1832522525


Integrated: 8320942: Only set openjdk-target when cross compiling linux-aarch64

2023-11-29 Thread Mikael Vidstedt
On Wed, 29 Nov 2023 02:25:20 GMT, Mikael Vidstedt  wrote:

> When building linux-aarch64 at Oracle using jib, 
> --openjdk-target=aarch64-linux-gnu is always specified regardless of if 
> building natively or cross compiling (on linux-x64). Among other things this 
> has the (harmless) effect of tricking configure into thinking that it's cross 
> compiling even for native builds:
> 
> checking whether we are cross compiling... yes
> 
> The reason is that the target value (aarch64-linux-gnu) doesn't match what 
> config.guess returns (aarch64-unknown-linux-gnu). An explicit target is only 
> needed when cross compiling and should not be specified for native builds.

This pull request has now been integrated.

Changeset: 454b1165
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/454b11653c9e6718ee45233851e714a896013ec8
Stats: 5 lines in 1 file changed: 2 ins; 2 del; 1 mod

8320942: Only set openjdk-target when cross compiling linux-aarch64

Reviewed-by: ihse, erikj

-

PR: https://git.openjdk.org/jdk/pull/16873


RFR: 8320942: Only set openjdk-target when cross compiling linux-aarch64

2023-11-28 Thread Mikael Vidstedt
When building linux-aarch64 at Oracle using jib, 
--openjdk-target=aarch64-linux-gnu is always specified regardless of if 
building natively or cross compiling (on linux-x64). Among other things this 
has the (harmless) effect of tricking configure into thinking that it's cross 
compiling even for native builds:

checking whether we are cross compiling... yes

The reason is that the target value (aarch64-linux-gnu) doesn't match what 
config.guess returns (aarch64-unknown-linux-gnu). An explicit target is only 
needed when cross compiling and should not be specified for native builds.

-

Commit messages:
 - 8320942: Only set openjdk-target when cross compiling

Changes: https://git.openjdk.org/jdk/pull/16873/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16873=00
  Issue: https://bugs.openjdk.org/browse/JDK-8320942
  Stats: 5 lines in 1 file changed: 2 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16873.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16873/head:pull/16873

PR: https://git.openjdk.org/jdk/pull/16873


Re: RFR: JDK-8320932: [BACKOUT] dsymutil command leaves around temporary directories

2023-11-28 Thread Mikael Vidstedt
On Tue, 28 Nov 2023 21:48:13 GMT, Erik Joelsson  wrote:

> This is a backout of 
> [JDK-8320863](https://bugs.openjdk.org/browse/JDK-8320863). That fix only 
> works on a very limited selection of Xcode versions, and is causing the build 
> to fail on other versions, including at least 12, 13 and 15.

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/16864#pullrequestreview-1754127260


Integrated: 8320212: Disable GCC stringop-overflow warning for affected files

2023-11-17 Thread Mikael Vidstedt
On Fri, 17 Nov 2023 00:31:36 GMT, Mikael Vidstedt  wrote:

> In JDK-8319818 the stringop-overflow warnings were disabled for linux-aarch64 
> (fastdebug). With the changes in JDK-8319883 additional stringop-overflow 
> warnings are produced with GCC 13.2.0, this time for linux-x64-zero 
> (fastdebug). The warnings are related to GCC thinking JavaThread:current (and 
> Thread::current) may return nullptr where in fact they can't. I tried several 
> ways to convince GCC about this fact but in the end failed.
> 
> This change disables the warning for the affected files (only). I'm not in 
> love with that solution but I've run out of ideas at this point. An 
> alternative would be to disable the warning globally, which has its own set 
> of pros and cons.

This pull request has now been integrated.

Changeset: a1e7a302
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/a1e7a302c8a3d7a1069659653042476b20becabe
Stats: 11 lines in 1 file changed: 4 ins; 7 del; 0 mod

8320212: Disable GCC stringop-overflow warning for affected files

Reviewed-by: ihse, dcubed

-

PR: https://git.openjdk.org/jdk/pull/16702


Re: RFR: 8320212: Disable GCC stringop-overflow warning for affected files

2023-11-17 Thread Mikael Vidstedt
On Fri, 17 Nov 2023 00:31:36 GMT, Mikael Vidstedt  wrote:

> In JDK-8319818 the stringop-overflow warnings were disabled for linux-aarch64 
> (fastdebug). With the changes in JDK-8319883 additional stringop-overflow 
> warnings are produced with GCC 13.2.0, this time for linux-x64-zero 
> (fastdebug). The warnings are related to GCC thinking JavaThread:current (and 
> Thread::current) may return nullptr where in fact they can't. I tried several 
> ways to convince GCC about this fact but in the end failed.
> 
> This change disables the warning for the affected files (only). I'm not in 
> love with that solution but I've run out of ideas at this point. An 
> alternative would be to disable the warning globally, which has its own set 
> of pros and cons.

Thank you for the reviews.

-

PR Comment: https://git.openjdk.org/jdk/pull/16702#issuecomment-1817138681


Re: RFR: 8320212: Disable GCC stringop-overflow warning for affected files

2023-11-17 Thread Mikael Vidstedt
On Fri, 17 Nov 2023 15:36:29 GMT, Magnus Ihse Bursie  wrote:

> Looks okay from a build perspective. In the end, I guess some hotspot 
> developers need to weigh in if this is acceptable.
> 
> I presume you have tried to analyze what makes the Thread:current access 
> different in these files, so that gcc only complains at these instances?

Indeed, I spent quite a lot of time trying to understand what makes these 
specific files (cases/places) special but in the end had to give up. If there 
is a pattern I can't spot it.

-

PR Comment: https://git.openjdk.org/jdk/pull/16702#issuecomment-1816867229


RFR: 8320212: Disable GCC stringop-overflow warning for affected files

2023-11-16 Thread Mikael Vidstedt
In JDK-8319818 the stringop-overflow warnings were disabled for linux-aarch64 
(fastdebug). With the changes in JDK-8319883 additional stringop-overflow 
warnings are produced with GCC 13.2.0, this time for linux-x64-zero 
(fastdebug). The warnings are related to GCC thinking JavaThread:current (and 
Thread::current) may return nullptr where in fact they can't. I tried several 
ways to convince GCC about this fact but in the end failed.

This change disables the warning for the affected files (only). I'm not in love 
with that solution but I've run out of ideas at this point. An alternative 
would be to disable the warning globally, which has its own set of pros and 
cons.

-

Commit messages:
 - 8320212: Disable GCC stringop-overflow warning for affected files

Changes: https://git.openjdk.org/jdk/pull/16702/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16702=00
  Issue: https://bugs.openjdk.org/browse/JDK-8320212
  Stats: 11 lines in 1 file changed: 4 ins; 7 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/16702.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16702/head:pull/16702

PR: https://git.openjdk.org/jdk/pull/16702


Re: RFR: 8320258: Refresh building.md

2023-11-16 Thread Mikael Vidstedt
On Thu, 16 Nov 2023 17:40:36 GMT, Magnus Ihse Bursie  wrote:

> The contents of the build README has been poorly kept up to date in places. 
> With the move to Github, the need to have markdown syntax that looks good on 
> Github has become apparent. The entire document has been in need for a while 
> of a comprehensive oversight to be made more consistent in language and 
> formatting.
> 
> Here is a summary of the most important changes:
> 
> * The entire section on cross-compiling have been restructured to be more 
> logical, and some parts have been rewritten, so it reads more coherent.
> * A section on "make doctor" has been added
> * The fixpath.sh script has been explained more in detail (and references to 
> the old fixpath binary removed)
> * Information about MSYS2 and WSL has been updated
> * References to how things were done in the past, like the hg forest have 
> been removed
> * Version numbers have been updated where needed
> * Some specific paragraphs about e.g. boot JDK detection have been clarified
> * Example output have been updated
> * Remaining references to `run-test` have been updated to just `test`
> * Internal links have been fixed in a few places
> * A few remaining places that confuses "OpenJDK" with the "JDK" have been 
> fixed
> * Markdown formatting has been improved in some places
> * The entire file has gotten more normalized markdown formatting (fix bullet 
> list indentation, add empty lines surrounding the code block markers, etc)
> 
> Note that this PR will can possibly create a merge conflict with 8317357 and 
> 8264425; my intention is to integrate these two first and then resolve any 
> conflicts in this PR.

doc/building.md line 42:

> 40: 
> 41: If you just want to use the JDK and not build it yourself, this document 
> is not
> 42: for you. See for instance [OpenJDK 
> installation](http://openjdk.org/install)

Switch to https? Same for other uses of http:// later in the file?

-

PR Review Comment: https://git.openjdk.org/jdk/pull/16696#discussion_r1396333621


Integrated: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle

2023-11-13 Thread Mikael Vidstedt
On Tue, 7 Nov 2023 23:37:06 GMT, Mikael Vidstedt  wrote:

> Oracle is updating the version of GCC for building the JDK on Linux to 13.2.0.
> 
> 
> **Note: The changes discussed below were broken out into a separate change 
> and integrated through #16584.**
> 
> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
> changes. In particular, I ran into two different types of new warnings with 
> GCC 13.2.0:
> 
> 1. linux-aarch64-debug + stringop-overflow
> 
> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]`
> 
> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
> the warning is generated and how the code could be fixed but eventually had 
> to give up.. I ended up disabling the warning for linux-aarch64-debug 
> specifically but open to feedback and other alternatives.
> 
> 2. linux + zero + dangling-pointer
> 
> 
> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]`
> 
> The linux/zero build generates lots and lots of dangling pointer warnings. As 
> with the first warning I tried to understand why but also gave up in the end. 
> Like the first warning I disabled it instead, for zero builds. Again 
> appreciating feedback/suggestions.

This pull request has now been integrated.

Changeset: 1802cb56
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/1802cb566e956febebc181da26a666bea4942e87
Stats: 24 lines in 4 files changed: 13 ins; 0 del; 11 mod

8319570: Change to GCC 13.2.0 for building on Linux at Oracle

Reviewed-by: ihse, dholmes

-

PR: https://git.openjdk.org/jdk/pull/16550


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v4]

2023-11-13 Thread Mikael Vidstedt
On Mon, 13 Nov 2023 17:55:12 GMT, Mikael Vidstedt  wrote:

>> Oracle is updating the version of GCC for building the JDK on Linux to 
>> 13.2.0.
>> 
>> 
>> **Note: The changes discussed below were broken out into a separate change 
>> and integrated through #16584.**
>> 
>> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
>> changes. In particular, I ran into two different types of new warnings with 
>> GCC 13.2.0:
>> 
>> 1. linux-aarch64-debug + stringop-overflow
>> 
>> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
>> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
>> bytes into a region of size 0 overflows the destination 
>> [-Werror=stringop-overflow=]`
>> 
>> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
>> the warning is generated and how the code could be fixed but eventually had 
>> to give up.. I ended up disabling the warning for linux-aarch64-debug 
>> specifically but open to feedback and other alternatives.
>> 
>> 2. linux + zero + dangling-pointer
>> 
>> 
>> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
>> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
>> [-Werror=dangling-pointer=]`
>> 
>> The linux/zero build generates lots and lots of dangling pointer warnings. 
>> As with the first warning I tried to understand why but also gave up in the 
>> end. Like the first warning I disabled it instead, for zero builds. Again 
>> appreciating feedback/suggestions.
>
> Mikael Vidstedt has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains four commits:
> 
>  - Merge branch 'master' into 8319570-gcc-13.2.0
>  - Update copyright years
>  - Move ASSERT ResourceMark constructor to resourceArea.cpp to avoid dangling 
> pointer warning with zero
>  - 8319570: Change to GCC 13.2.0 for building on Linux at Oracle

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/16550#issuecomment-1809251421


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v4]

2023-11-13 Thread Mikael Vidstedt
> Oracle is updating the version of GCC for building the JDK on Linux to 13.2.0.
> 
> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
> changes. In particular, I ran into two different types of new warnings with 
> GCC 13.2.0:
> 
> 1. linux-aarch64-debug + stringop-overflow
> 
> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]`
> 
> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
> the warning is generated and how the code could be fixed but eventually had 
> to give up.. I ended up disabling the warning for linux-aarch64-debug 
> specifically but open to feedback and other alternatives.
> 
> 2. linux + zero + dangling-pointer
> 
> 
> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]`
> 
> The linux/zero build generates lots and lots of dangling pointer warnings. As 
> with the first warning I tried to understand why but also gave up in the end. 
> Like the first warning I disabled it instead, for zero builds. Again 
> appreciating feedback/suggestions.

Mikael Vidstedt has updated the pull request with a new target base due to a 
merge or a rebase. The pull request now contains four commits:

 - Merge branch 'master' into 8319570-gcc-13.2.0
 - Update copyright years
 - Move ASSERT ResourceMark constructor to resourceArea.cpp to avoid dangling 
pointer warning with zero
 - 8319570: Change to GCC 13.2.0 for building on Linux at Oracle

-

Changes: https://git.openjdk.org/jdk/pull/16550/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16550=03
  Stats: 24 lines in 4 files changed: 13 ins; 0 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/16550.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16550/head:pull/16550

PR: https://git.openjdk.org/jdk/pull/16550


Integrated: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

2023-11-13 Thread Mikael Vidstedt
On Thu, 9 Nov 2023 16:07:53 GMT, Mikael Vidstedt  wrote:

> This PR is splitting out the GCC 13.2.0 warning related changes from #16550, 
> excluding the Oracle/devkit parts, for clarity and to make potential 
> backports more straightforward.
> 
> GCC 13.2.0 generates two new warnings:
> 
> * linux-aarch64-debug
> 
> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]
> 
> I did not find any way to adjust the code to avoid this warning, so I instead 
> chose to disable it in `CompileJvm.gmk` for linux-aarch64-(fast)debug only.
> 
> * linux-zero
> 
> src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]
> 
> Lots and lots of warnings related to ResourceMark. Thanks to @stefank for 
> suggesting moving the ASSERT implementation of the ResourceMark constructor 
> to the .cpp file. With that change there's no need to explicitly disable the 
> warning.

This pull request has now been integrated.

Changeset: c0507af5
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/c0507af5a4d867940b3aee1ac0fc8188b5536825
Stats: 32 lines in 3 files changed: 19 ins; 10 del; 3 mod

8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

Reviewed-by: ihse, dholmes

-

PR: https://git.openjdk.org/jdk/pull/16584


Re: RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer) [v2]

2023-11-13 Thread Mikael Vidstedt
On Fri, 10 Nov 2023 18:08:17 GMT, Mikael Vidstedt  wrote:

>> This PR is splitting out the GCC 13.2.0 warning related changes from #16550, 
>> excluding the Oracle/devkit parts, for clarity and to make potential 
>> backports more straightforward.
>> 
>> GCC 13.2.0 generates two new warnings:
>> 
>> * linux-aarch64-debug
>> 
>> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
>> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
>> bytes into a region of size 0 overflows the destination 
>> [-Werror=stringop-overflow=]
>> 
>> I did not find any way to adjust the code to avoid this warning, so I 
>> instead chose to disable it in `CompileJvm.gmk` for 
>> linux-aarch64-(fast)debug only.
>> 
>> * linux-zero
>> 
>> src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
>> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
>> [-Werror=dangling-pointer=]
>> 
>> Lots and lots of warnings related to ResourceMark. Thanks to @stefank for 
>> suggesting moving the ASSERT implementation of the ResourceMark constructor 
>> to the .cpp file. With that change there's no need to explicitly disable the 
>> warning.
>
> Mikael Vidstedt has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Add comment for stringop-overflow warning
>   
>   Co-authored-by: Hao Sun 

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/16584#issuecomment-1808666187


Re: RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer) [v2]

2023-11-10 Thread Mikael Vidstedt
On Fri, 10 Nov 2023 01:25:32 GMT, Hao Sun  wrote:

>> Mikael Vidstedt has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Add comment for stringop-overflow warning
>>   
>>   Co-authored-by: Hao Sun 
>
> make/hotspot/lib/CompileJvm.gmk line 93:
> 
>> 91: ifeq ($(DEBUG_LEVEL), fastdebug)
>> 92:   ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, 
>> aarch64)), true)
>> 93: DISABLED_WARNINGS_gcc += stringop-overflow
> 
> Do you think it would be better if we add some comments here?
> Suggestion:
> 
> # False positive warnings for atomic_linux_aarch64.hpp on GCC >= 13
> DISABLED_WARNINGS_gcc += stringop-overflow

I was also surprised to see the `dangling-pointer` warning just disappear, but 
I guess I'll take the win.

Thank you for the code suggestion. We have not been consistent when it comes to 
(not) adding comments to the disabled warnings but perhaps this is a good time 
to start.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/16584#discussion_r1389718228


Re: RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer) [v2]

2023-11-10 Thread Mikael Vidstedt
> This PR is splitting out the GCC 13.2.0 warning related changes from #16550, 
> excluding the Oracle/devkit parts, for clarity and to make potential 
> backports more straightforward.
> 
> GCC 13.2.0 generates two new warnings:
> 
> * linux-aarch64-debug
> 
> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]
> 
> I did not find any way to adjust the code to avoid this warning, so I instead 
> chose to disable it in `CompileJvm.gmk` for linux-aarch64-(fast)debug only.
> 
> * linux-zero
> 
> src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]
> 
> Lots and lots of warnings related to ResourceMark. Thanks to @stefank for 
> suggesting moving the ASSERT implementation of the ResourceMark constructor 
> to the .cpp file. With that change there's no need to explicitly disable the 
> warning.

Mikael Vidstedt has updated the pull request incrementally with one additional 
commit since the last revision:

  Add comment for stringop-overflow warning
  
  Co-authored-by: Hao Sun 

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/16584/files
  - new: https://git.openjdk.org/jdk/pull/16584/files/47ace39f..e2baad09

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=16584=01
 - incr: https://webrevs.openjdk.org/?repo=jdk=16584=00-01

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

PR: https://git.openjdk.org/jdk/pull/16584


Re: RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

2023-11-09 Thread Mikael Vidstedt
On Thu, 9 Nov 2023 16:07:53 GMT, Mikael Vidstedt  wrote:

> This PR is splitting out the GCC 13.2.0 warning related changes from #16550, 
> excluding the Oracle/devkit parts, for clarity and to make potential 
> backports more straightforward.
> 
> GCC 13.2.0 generates two new warnings:
> 
> * linux-aarch64-debug
> 
> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]
> 
> I did not find any way to adjust the code to avoid this warning, so I instead 
> chose to disable it in `CompileJvm.gmk` for linux-aarch64-(fast)debug only.
> 
> * linux-zero
> 
> src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]
> 
> Lots and lots of warnings related to ResourceMark. Thanks to @stefank for 
> suggesting moving the ASSERT implementation of the ResourceMark constructor 
> to the .cpp file. With that change there's no need to explicitly disable the 
> warning.

My plan is the rest of #16550 - devkit creation logic and the actual (Oracle) 
bump.

-

PR Comment: https://git.openjdk.org/jdk/pull/16584#issuecomment-1804426349


Re: RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

2023-11-09 Thread Mikael Vidstedt
On Thu, 9 Nov 2023 16:07:53 GMT, Mikael Vidstedt  wrote:

> This PR is splitting out the GCC 13.2.0 warning related changes from #16550, 
> excluding the Oracle/devkit parts, for clarity and to make potential 
> backports more straightforward.
> 
> GCC 13.2.0 generates two new warnings:
> 
> * linux-aarch64-debug
> 
> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]
> 
> I did not find any way to adjust the code to avoid this warning, so I instead 
> chose to disable it in `CompileJvm.gmk` for linux-aarch64-(fast)debug only.
> 
> * linux-zero
> 
> src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]
> 
> Lots and lots of warnings related to ResourceMark. Thanks to @stefank for 
> suggesting moving the ASSERT implementation of the ResourceMark constructor 
> to the .cpp file. With that change there's no need to explicitly disable the 
> warning.

I respectfully disagree. These changes are all needed for GCC 13.2.0 so can and 
should go hand in hand.

-

PR Comment: https://git.openjdk.org/jdk/pull/16584#issuecomment-1804326193


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v3]

2023-11-09 Thread Mikael Vidstedt
On Thu, 9 Nov 2023 05:20:18 GMT, David Holmes  wrote:

>> Mikael Vidstedt has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Update copyright years
>
> src/hotspot/share/memory/resourceArea.cpp line 1:
> 
>> 1: /*
> 
> @vidmik I hate to be a pain but could we separate out the source code change 
> from this nominal build/configuration change please. It will allow for easier 
> backporting.

Good idea - I created JDK-8319818 / #16584 to cover (only) the warnings.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/16550#discussion_r1388241495


RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

2023-11-09 Thread Mikael Vidstedt
This PR is splitting out the GCC 13.2.0 warning related changes from #16550, 
excluding the Oracle/devkit parts, for clarity and to make potential backports 
more straightforward.

GCC 13.2.0 generates two new warnings:

* linux-aarch64-debug

src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 'long 
unsigned int __atomic_load_8(const volatile void*, int)' writing 8 bytes into a 
region of size 0 overflows the destination [-Werror=stringop-overflow=]

I did not find any way to adjust the code to avoid this warning, so I instead 
chose to disable it in `CompileJvm.gmk` for linux-aarch64-(fast)debug only.

* linux-zero

src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
[-Werror=dangling-pointer=]

Lots and lots of warnings related to ResourceMark. Thanks to @stefank for 
suggesting moving the ASSERT implementation of the ResourceMark constructor to 
the .cpp file. With that change there's no need to explicitly disable the 
warning.

-

Commit messages:
 - 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

Changes: https://git.openjdk.org/jdk/pull/16584/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16584=00
  Issue: https://bugs.openjdk.org/browse/JDK-8319818
  Stats: 31 lines in 3 files changed: 18 ins; 10 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/16584.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16584/head:pull/16584

PR: https://git.openjdk.org/jdk/pull/16584


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v3]

2023-11-08 Thread Mikael Vidstedt
> Oracle is updating the version of GCC for building the JDK on Linux to 13.2.0.
> 
> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
> changes. In particular, I ran into two different types of new warnings with 
> GCC 13.2.0:
> 
> 1. linux-aarch64-debug + stringop-overflow
> 
> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]`
> 
> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
> the warning is generated and how the code could be fixed but eventually had 
> to give up.. I ended up disabling the warning for linux-aarch64-debug 
> specifically but open to feedback and other alternatives.
> 
> 2. linux + zero + dangling-pointer
> 
> 
> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]`
> 
> The linux/zero build generates lots and lots of dangling pointer warnings. As 
> with the first warning I tried to understand why but also gave up in the end. 
> Like the first warning I disabled it instead, for zero builds. Again 
> appreciating feedback/suggestions.

Mikael Vidstedt has updated the pull request incrementally with one additional 
commit since the last revision:

  Update copyright years

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/16550/files
  - new: https://git.openjdk.org/jdk/pull/16550/files/19a9a1b7..2ad37c20

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=16550=02
 - incr: https://webrevs.openjdk.org/?repo=jdk=16550=01-02

  Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/16550.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16550/head:pull/16550

PR: https://git.openjdk.org/jdk/pull/16550


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v2]

2023-11-08 Thread Mikael Vidstedt
On Wed, 8 Nov 2023 21:30:24 GMT, Magnus Ihse Bursie  wrote:

>> FWIW I just followed the preexisting pattern in the same file, e.g. 
>> https://github.com/openjdk/jdk/blob/7d25f1c6cb770e21cfad8096c1637a24e65fab8c/make/hotspot/lib/CompileJvm.gmk#L1100.
>>  @magicus Let me know if you want me to change it.
>
>> [T]he And macro was actually added by you
> 
> Oh.  Ohh... That was a bit stupid of me, then. :) But I just checked, I 
> found 4 cases of `$(call And)` vs 11 cases of using `+` in our makefiles. So 
> it is a clear overweight for the `+` syntax, but is not the sole pattern as I 
> thought.
> 
> So yes, it is okay to keep it as it is.

Leaving it as-is then. Thank you.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/16550#discussion_r1387257535


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v2]

2023-11-08 Thread Mikael Vidstedt
On Wed, 8 Nov 2023 22:10:20 GMT, Mikael Vidstedt  wrote:

>> Oracle is updating the version of GCC for building the JDK on Linux to 
>> 13.2.0.
>> 
>> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
>> changes. In particular, I ran into two different types of new warnings with 
>> GCC 13.2.0:
>> 
>> 1. linux-aarch64-debug + stringop-overflow
>> 
>> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
>> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
>> bytes into a region of size 0 overflows the destination 
>> [-Werror=stringop-overflow=]`
>> 
>> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
>> the warning is generated and how the code could be fixed but eventually had 
>> to give up.. I ended up disabling the warning for linux-aarch64-debug 
>> specifically but open to feedback and other alternatives.
>> 
>> 2. linux + zero + dangling-pointer
>> 
>> 
>> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
>> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
>> [-Werror=dangling-pointer=]`
>> 
>> The linux/zero build generates lots and lots of dangling pointer warnings. 
>> As with the first warning I tried to understand why but also gave up in the 
>> end. Like the first warning I disabled it instead, for zero builds. Again 
>> appreciating feedback/suggestions.
>
> Mikael Vidstedt has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Move ASSERT ResourceMark constructor to resourceArea.cpp to avoid dangling 
> pointer warning with zero

> For `linux + zero + dangling-pointer`, your current solution is somehow 
> coarse-grained. Perhaps, we may use `PRAGMA_DANGLING_POINTER_IGNORED`. See 
> #13751 and #13789.

@shqking Good feedback, thank you! I tried to use 
`PRAGMA_DANGLING_POINTER_IGNORED` to silence the warning but ran into issues 
using it in the header files - seems like there may be limitations to where 
pragma can be used and in particular it doesn't seem to have any effect in 
header files and/or inside of `#if`/#ifdef` blocks. That basically means that 
in order to fix this particular warning we would have to put the PRAGMAs in all 
the various places in the .cpp files instead, which turns out to be _lots_ of 
places. Not particularly appetizing.

However, @stefank suggested another, better solution: move the relevant 
`ASSERT` specific `ResourceMark` constructor code to the `resourceArea.cpp` 
file instead. Since it's "just" used for `ASSERT` builds it's not really 
performance sensitive, so can't be that important to inline. I did exactly that 
and - lo and behold - I didn't even have to silence the warning in the .cpp 
file, it just works.

I just pushed a change that moves the constructor implantation to 
`resourceArea.cpp` and removes the dangling pointer warning logic from 
`CompileJvm.gmk` again. Have a look and let me know what you think.

-

PR Comment: https://git.openjdk.org/jdk/pull/16550#issuecomment-1802763593


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v2]

2023-11-08 Thread Mikael Vidstedt
> Oracle is updating the version of GCC for building the JDK on Linux to 13.2.0.
> 
> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
> changes. In particular, I ran into two different types of new warnings with 
> GCC 13.2.0:
> 
> 1. linux-aarch64-debug + stringop-overflow
> 
> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
> bytes into a region of size 0 overflows the destination 
> [-Werror=stringop-overflow=]`
> 
> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
> the warning is generated and how the code could be fixed but eventually had 
> to give up.. I ended up disabling the warning for linux-aarch64-debug 
> specifically but open to feedback and other alternatives.
> 
> 2. linux + zero + dangling-pointer
> 
> 
> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
> [-Werror=dangling-pointer=]`
> 
> The linux/zero build generates lots and lots of dangling pointer warnings. As 
> with the first warning I tried to understand why but also gave up in the end. 
> Like the first warning I disabled it instead, for zero builds. Again 
> appreciating feedback/suggestions.

Mikael Vidstedt has updated the pull request incrementally with one additional 
commit since the last revision:

  Move ASSERT ResourceMark constructor to resourceArea.cpp to avoid dangling 
pointer warning with zero

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/16550/files
  - new: https://git.openjdk.org/jdk/pull/16550/files/be29a987..19a9a1b7

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=16550=01
 - incr: https://webrevs.openjdk.org/?repo=jdk=16550=00-01

  Stats: 27 lines in 3 files changed: 12 ins; 14 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16550.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16550/head:pull/16550

PR: https://git.openjdk.org/jdk/pull/16550


Re: RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle

2023-11-08 Thread Mikael Vidstedt
On Wed, 8 Nov 2023 13:24:21 GMT, Magnus Ihse Bursie  wrote:

>> Oracle is updating the version of GCC for building the JDK on Linux to 
>> 13.2.0.
>> 
>> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
>> changes. In particular, I ran into two different types of new warnings with 
>> GCC 13.2.0:
>> 
>> 1. linux-aarch64-debug + stringop-overflow
>> 
>> `src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 
>> 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 
>> bytes into a region of size 0 overflows the destination 
>> [-Werror=stringop-overflow=]`
>> 
>> Only reproduces with fastdebug on linux-aarch64. I tried to understand why 
>> the warning is generated and how the code could be fixed but eventually had 
>> to give up.. I ended up disabling the warning for linux-aarch64-debug 
>> specifically but open to feedback and other alternatives.
>> 
>> 2. linux + zero + dangling-pointer
>> 
>> 
>> `src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
>> local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
>> [-Werror=dangling-pointer=]`
>> 
>> The linux/zero build generates lots and lots of dangling pointer warnings. 
>> As with the first warning I tried to understand why but also gave up in the 
>> end. Like the first warning I disabled it instead, for zero builds. Again 
>> appreciating feedback/suggestions.
>
> make/hotspot/lib/CompileJvm.gmk line 92:
> 
>> 90: 
>> 91: ifeq ($(DEBUG_LEVEL), fastdebug)
>> 92:   ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, 
>> aarch64)), true)
> 
> The idiomatic way we have expressed this in other places in the JDK build is:
> Suggestion:
> 
>   ifeq ($(call isTargetOs, linux)+$(call isTargetCpu, aarch64), true+true)

FWIW I just followed the preexisting pattern in the same file, e.g. 
https://github.com/openjdk/jdk/blob/7d25f1c6cb770e21cfad8096c1637a24e65fab8c/make/hotspot/lib/CompileJvm.gmk#L1100.
 @magicus Let me know if you want me to change it.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/16550#discussion_r1386979331


RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle

2023-11-07 Thread Mikael Vidstedt
Oracle is updating the version of GCC for building the JDK on Linux to 13.2.0.

Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk 
changes. In particular, I ran into two different types of new warnings with GCC 
13.2.0:

1. linux-aarch64-debug + stringop-overflow

`src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203:66: error: 'long 
unsigned int __atomic_load_8(const volatile void*, int)' writing 8 bytes into a 
region of size 0 overflows the destination [-Werror=stringop-overflow=]`

Only reproduces with fastdebug on linux-aarch64. I tried to understand why the 
warning is generated and how the code could be fixed but eventually had to give 
up.. I ended up disabling the warning for linux-aarch64-debug specifically but 
open to feedback and other alternatives.

2. linux + zero + dangling-pointer


`src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of 
local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' 
[-Werror=dangling-pointer=]`

The linux/zero build generates lots and lots of dangling pointer warnings. As 
with the first warning I tried to understand why but also gave up in the end. 
Like the first warning I disabled it instead, for zero builds. Again 
appreciating feedback/suggestions.

-

Commit messages:
 - 8319570: Change to GCC 13.2.0 for building on Linux at Oracle

Changes: https://git.openjdk.org/jdk/pull/16550/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16550=00
  Issue: https://bugs.openjdk.org/browse/JDK-8319570
  Stats: 34 lines in 5 files changed: 23 ins; 0 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/16550.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16550/head:pull/16550

PR: https://git.openjdk.org/jdk/pull/16550


Integrated: 8319573: Change to Visual Studio 17.6.5 for building on Windows at Oracle

2023-11-07 Thread Mikael Vidstedt
On Mon, 6 Nov 2023 23:00:39 GMT, Mikael Vidstedt  wrote:

> Oracle is updating the version of Visual Studio for building the JDK on 
> Windows to Visual Studio 2022 17.6.5.

This pull request has now been integrated.

Changeset: 806529aa
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/806529aa77e1977360cd3885b595797bea98e920
Stats: 7 lines in 3 files changed: 0 ins; 0 del; 7 mod

8319573: Change to Visual Studio 17.6.5 for building on Windows at Oracle

Reviewed-by: erikj

-

PR: https://git.openjdk.org/jdk/pull/16533


RFR: 8319573: Change to Visual Studio 17.6.5 for building on Windows at Oracle

2023-11-06 Thread Mikael Vidstedt
Oracle is updating the version of Visual Studio for building the JDK on Windows 
to Visual Studio 2022 17.6.5.

-

Commit messages:
 - 8319573: Change to Visual Studio 17.6.5 for building on Windows at Oracle

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

PR: https://git.openjdk.org/jdk/pull/16533


Re: RFR: 8318481: linux-arm32 attribute warning for offset_of

2023-10-19 Thread Mikael Vidstedt
On Wed, 18 Oct 2023 23:02:18 GMT, Mikael Vidstedt  wrote:

> The linux-arm32 build generates a somewhat spectacular number of warnings, 
> all for the same code - the offset_of macro in hotspot:
> 
> 
> src/hotspot/share/utilities/globalDefinitions_gcc.hpp:144:40: warning: 
> requested alignment 16 is larger than 8 [-Wattributes]
> alignas(16) char space[sizeof (klass)];
> 
> 
> I was hoping to find a simple fix for the code in question but I'm not sure 
> what that would look like. Until proven otherwise I propose that we disable 
> the warning for arm32.

It was pointed out that this issue has already been reported and is not 
specific to arm32. I'm going to withdraw this PR and explore alternative 
solutions.

-

PR Comment: https://git.openjdk.org/jdk/pull/16256#issuecomment-1771613371


Withdrawn: 8318481: linux-arm32 attribute warning for offset_of

2023-10-19 Thread Mikael Vidstedt
On Wed, 18 Oct 2023 23:02:18 GMT, Mikael Vidstedt  wrote:

> The linux-arm32 build generates a somewhat spectacular number of warnings, 
> all for the same code - the offset_of macro in hotspot:
> 
> 
> src/hotspot/share/utilities/globalDefinitions_gcc.hpp:144:40: warning: 
> requested alignment 16 is larger than 8 [-Wattributes]
> alignas(16) char space[sizeof (klass)];
> 
> 
> I was hoping to find a simple fix for the code in question but I'm not sure 
> what that would look like. Until proven otherwise I propose that we disable 
> the warning for arm32.

This pull request has been closed without being integrated.

-

PR: https://git.openjdk.org/jdk/pull/16256


RFR: 8318481: linux-arm32 attribute warning for offset_of

2023-10-18 Thread Mikael Vidstedt
The linux-arm32 build generates a somewhat spectacular number of warnings, all 
for the same code - the offset_of macro in hotspot:


src/hotspot/share/utilities/globalDefinitions_gcc.hpp:144:40: warning: 
requested alignment 16 is larger than 8 [-Wattributes]
alignas(16) char space[sizeof (klass)];


I was hoping to find a simple fix for the code in question but I'm not sure 
what that would look like. Until proven otherwise I propose that we disable the 
warning for arm32.

-

Commit messages:
 - 8318481: linux-arm32 attribute warning for offset_of

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

PR: https://git.openjdk.org/jdk/pull/16256


Integrated: 8317970: Bump target macosx-x64 version to 11.00.00

2023-10-13 Thread Mikael Vidstedt
On Wed, 11 Oct 2023 17:49:14 GMT, Mikael Vidstedt  wrote:

> macOS 10.x is no longer receiving updates - the most recent/last release was 
> 10.15.7 back in July of 2022. It's time to bump the target macOS version 
> (min/max) for macosx-x64. macOS 11.x is still receiving updates.
> 
> This change updates the target version for macosx-x64 to 11.00.00, which is 
> the same version used for macosx-aarch64.

This pull request has now been integrated.

Changeset: 72c4dcbf
Author:    Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/72c4dcbfeefcd664f5e3175b24e395c1f36a05fd
Stats: 22 lines in 3 files changed: 0 ins; 17 del; 5 mod

8317970: Bump target macosx-x64 version to 11.00.00

Reviewed-by: erikj, prr, ihse

-

PR: https://git.openjdk.org/jdk/pull/16155


Re: RFR: 8317970: Bump target macosx-x64 version to 11.00.00 [v4]

2023-10-13 Thread Mikael Vidstedt
On Fri, 13 Oct 2023 18:01:44 GMT, Mikael Vidstedt  wrote:

>> macOS 10.x is no longer receiving updates - the most recent/last release was 
>> 10.15.7 back in July of 2022. It's time to bump the target macOS version 
>> (min/max) for macosx-x64. macOS 11.x is still receiving updates.
>> 
>> This change updates the target version for macosx-x64 to 11.00.00, which is 
>> the same version used for macosx-aarch64.
>
> Mikael Vidstedt has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Drop redundant MACOSX_METAL_VERSION_MIN variable

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/16155#issuecomment-1762153757


Re: RFR: 8317970: Bump target macosx-x64 version to 11.00.00 [v4]

2023-10-13 Thread Mikael Vidstedt
> macOS 10.x is no longer receiving updates - the most recent/last release was 
> 10.15.7 back in July of 2022. It's time to bump the target macOS version 
> (min/max) for macosx-x64. macOS 11.x is still receiving updates.
> 
> This change updates the target version for macosx-x64 to 11.00.00, which is 
> the same version used for macosx-aarch64.

Mikael Vidstedt has updated the pull request incrementally with one additional 
commit since the last revision:

  Drop redundant MACOSX_METAL_VERSION_MIN variable

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/16155/files
  - new: https://git.openjdk.org/jdk/pull/16155/files/56a95f67..e0e6d4e9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=16155=03
 - incr: https://webrevs.openjdk.org/?repo=jdk=16155=02-03

  Stats: 6 lines in 1 file changed: 0 ins; 5 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16155.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16155/head:pull/16155

PR: https://git.openjdk.org/jdk/pull/16155


Re: RFR: 8317970: Bump target macosx-x64 version to 11.00.00 [v3]

2023-10-13 Thread Mikael Vidstedt
> macOS 10.x is no longer receiving updates - the most recent/last release was 
> 10.15.7 back in July of 2022. It's time to bump the target macOS version 
> (min/max) for macosx-x64. macOS 11.x is still receiving updates.
> 
> This change updates the target version for macosx-x64 to 11.00.00, which is 
> the same version used for macosx-aarch64.

Mikael Vidstedt 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 six additional 
commits since the last revision:

 - Merge branch 'master' into 8317970-macosx-x64-ver-11
 - Update stale comment (again)
 - Update stale comment
 - macOS
 - Copyright year
 - Bump target macosx-x64 version to 11.00.00

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/16155/files
  - new: https://git.openjdk.org/jdk/pull/16155/files/71334787..56a95f67

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=16155=02
 - incr: https://webrevs.openjdk.org/?repo=jdk=16155=01-02

  Stats: 5985 lines in 336 files changed: 3061 ins; 1628 del; 1296 mod
  Patch: https://git.openjdk.org/jdk/pull/16155.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16155/head:pull/16155

PR: https://git.openjdk.org/jdk/pull/16155


Integrated: 8318039: GHA: Bump macOS and Xcode versions

2023-10-13 Thread Mikael Vidstedt
On Thu, 12 Oct 2023 19:25:13 GMT, Mikael Vidstedt  wrote:

> In GHA, the versions of macOS (note: the version used for build/test, **not** 
> the target macOS version we compile for) and Xcode are starting to show age. 
> It's time to update to more modern versions.
> 
> This change bumps the macOS to 13 (from 11) and Xcode to 14.3.1 (from 
> 12.5.1/11.7). This is a prerequisite change for JDK-8317970 / #16155, without 
> which the build SIGSEGVs (presumably some since-fixed issue in Xcode 12.5.1).

This pull request has now been integrated.

Changeset: 605c9767
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/605c9767291ddf1c409c3e805ffb3182899d06c2
Stats: 6 lines in 3 files changed: 0 ins; 0 del; 6 mod

8318039: GHA: Bump macOS and Xcode versions

Reviewed-by: erikj, prr, ihse, clanger

-

PR: https://git.openjdk.org/jdk/pull/16171


Re: RFR: 8318039: GHA: Bump macOS and Xcode versions

2023-10-13 Thread Mikael Vidstedt
On Thu, 12 Oct 2023 19:25:13 GMT, Mikael Vidstedt  wrote:

> In GHA, the versions of macOS (note: the version used for build/test, **not** 
> the target macOS version we compile for) and Xcode are starting to show age. 
> It's time to update to more modern versions.
> 
> This change bumps the macOS to 13 (from 11) and Xcode to 14.3.1 (from 
> 12.5.1/11.7). This is a prerequisite change for JDK-8317970 / #16155, without 
> which the build SIGSEGVs (presumably some since-fixed issue in Xcode 12.5.1).

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/16171#issuecomment-1761889525


RFR: 8318039: GHA: Bump macOS and Xcode versions

2023-10-12 Thread Mikael Vidstedt
In GHA, the versions of macOS (note: the version used for build/test, **not** 
the target macOS version we compile for) and Xcode are starting to show age. 
It's time to update to more modern versions.

This change bumps the macOS to 13 (from 11) and Xcode to 14.3.1 (from 
12.5.1/11.7). This is a prerequisite change for JDK-8317970 / #16155, without 
which the build SIGSEGVs (presumably some since-fixed issue in Xcode 12.5.1).

-

Commit messages:
 - 8318039: GHA: Bump macOS and Xcode versions

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

PR: https://git.openjdk.org/jdk/pull/16171


Re: RFR: 8317970: Bump target macosx-x64 version to 11.00.00 [v2]

2023-10-11 Thread Mikael Vidstedt
> macOS 10.x is no longer receiving updates - the most recent/last release was 
> 10.15.7 back in July of 2022. It's time to bump the target macOS version 
> (min/max) for macosx-x64. macOS 11.x is still receiving updates.
> 
> This change updates the target version for macosx-x64 to 11.00.00, which is 
> the same version used for macosx-aarch64.

Mikael Vidstedt has updated the pull request incrementally with two additional 
commits since the last revision:

 - Update stale comment (again)
 - Update stale comment

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/16155/files
  - new: https://git.openjdk.org/jdk/pull/16155/files/ce75188b..71334787

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=16155=01
 - incr: https://webrevs.openjdk.org/?repo=jdk=16155=00-01

  Stats: 5 lines in 1 file changed: 0 ins; 2 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/16155.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16155/head:pull/16155

PR: https://git.openjdk.org/jdk/pull/16155


RFR: 8317970: Bump target macosx-x64 version to 11.00.00

2023-10-11 Thread Mikael Vidstedt
macOS 10.x is no longer receiving updates - the most recent/last release was 
10.15.7 back in July of 2022. It's time to bump the target macOS version 
(min/max) for macosx-x64. macOS 11.x is still receiving updates.

This change updates the target version for macosx-x64 to 11.00.00, which is the 
same version used for macosx-aarch64.

-

Commit messages:
 - macOS
 - Copyright year
 - Bump target macosx-x64 version to 11.00.00

Changes: https://git.openjdk.org/jdk/pull/16155/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16155=00
  Issue: https://bugs.openjdk.org/browse/JDK-8317970
  Stats: 18 lines in 3 files changed: 0 ins; 10 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/16155.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16155/head:pull/16155

PR: https://git.openjdk.org/jdk/pull/16155


Integrated: 8317560: Change to Xcode 14.3.1 for building on macOS at Oracle

2023-10-06 Thread Mikael Vidstedt
On Thu, 5 Oct 2023 17:05:33 GMT, Mikael Vidstedt  wrote:

> This change bumps the version of Xcode used for building at Oracle to Xcode 
> 14.3.1 and updates the docs accordingly. The change also updates the devkit 
> creation logic to work around issues with macOS.

This pull request has now been integrated.

Changeset: a64794b1
Author:    Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/a64794b1eda99fd20d318e77554d92a29fdb5661
Stats: 14 lines in 4 files changed: 0 ins; 1 del; 13 mod

8317560: Change to Xcode 14.3.1 for building on macOS at Oracle

Reviewed-by: erikj

-

PR: https://git.openjdk.org/jdk/pull/16061


RFR: 8317560: Change to Xcode 14.3.1 for building on macOS at Oracle

2023-10-05 Thread Mikael Vidstedt
This change bumps the version of Xcode used for building at Oracle to Xcode 
14.3.1 and updates the docs accordingly. The change also updates the devkit 
creation logic to work around issues with macOS.

-

Commit messages:
 - 8317560: Change to Xcode 14.3.1 for building on macOS at Oracle

Changes: https://git.openjdk.org/jdk/pull/16061/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=16061=00
  Issue: https://bugs.openjdk.org/browse/JDK-8317560
  Stats: 14 lines in 4 files changed: 0 ins; 1 del; 13 mod
  Patch: https://git.openjdk.org/jdk/pull/16061.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16061/head:pull/16061

PR: https://git.openjdk.org/jdk/pull/16061


Re: RFR: 8306630: Bump minimum boot jdk to JDK 21

2023-09-27 Thread Mikael Vidstedt
On Tue, 26 Sep 2023 21:22:07 GMT, Mikael Vidstedt  wrote:

> With the JDK 21 GA out it's time to bump the minimum boot JDK version for 
> mainline/JDK 22.
> 
> Testing: tier1-5, GHA

Thank you for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/15934#issuecomment-1738269698


Integrated: 8306630: Bump minimum boot jdk to JDK 21

2023-09-27 Thread Mikael Vidstedt
On Tue, 26 Sep 2023 21:22:07 GMT, Mikael Vidstedt  wrote:

> With the JDK 21 GA out it's time to bump the minimum boot JDK version for 
> mainline/JDK 22.
> 
> Testing: tier1-5, GHA

This pull request has now been integrated.

Changeset: 83c0e451
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/83c0e4516064846c956d9a760338e71be1593f6f
Stats: 9 lines in 3 files changed: 0 ins; 0 del; 9 mod

8306630: Bump minimum boot jdk to JDK 21

Reviewed-by: darcy, erikj, iris, shade

-

PR: https://git.openjdk.org/jdk/pull/15934


RFR: 8306630: Bump minimum boot jdk to JDK 21

2023-09-26 Thread Mikael Vidstedt
With the JDK 21 GA out it's time to bump the minimum boot JDK version for 
mainline/JDK 22.

Testing: tier1-5, GHA (in progress)

-

Commit messages:
 - 8306630: Bump minimum boot jdk to JDK 21

Changes: https://git.openjdk.org/jdk/pull/15934/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=15934=00
  Issue: https://bugs.openjdk.org/browse/JDK-8306630
  Stats: 9 lines in 3 files changed: 0 ins; 0 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/15934.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15934/head:pull/15934

PR: https://git.openjdk.org/jdk/pull/15934


Re: RFR: 8303427: Fixpath confused if unix root contains "/jdk"

2023-08-31 Thread Mikael Vidstedt
On Tue, 29 Aug 2023 00:16:46 GMT, Erik Joelsson  wrote:

> On Windows, when a directory exists in the "unix" root with the same name as 
> a directory in the "test" dir, fixpath will corrupt test arguments to jtreg 
> (and possibly other arguments as well). Fixpath sees a string like this:
> 
> test/jdk/foo
> 
> It looks for the first `/` and checks if the first element following that, 
> until the next `/`, is an existing directory in the unix filesystem root. In 
> this case, the reporter had a directory named "/jdk" which satisfies this 
> heuristic check. This makes fixpath assume that the `/jdk/foo` part is an 
> absolute unix path that needs to be rewritten to a Windows path.
> 
> My suggested fix is to look at the prefix part, "test" in this case, and see 
> if that itself is a valid path in the current working directory, as that 
> would indicate that the string is intended to be a relative path.
> 
> I think we also need to account for possible prefixes with `:` and `=` here 
> to handle a string like:
> 
> jtreg:test/jdk/foo
> 
> In that case we need to remove anything up to the last `:` before we try to 
> match it as a relative directory. (Same thing applies to `=`)
> 
> Changing the heuristics of fixpath is rather sensitive and risky. I would 
> appreciate help from people using Windows with trying this patch with some of 
> your regular workflows.

Marked as reviewed by mikael (Reviewer).

Just because I'm curious: in which cases would the prefix contain `=` (equals)?

-

PR Review: https://git.openjdk.org/jdk/pull/15461#pullrequestreview-1605277412
PR Comment: https://git.openjdk.org/jdk/pull/15461#issuecomment-1701464048


Re: RFR: 8314444: Update jib-profiles.js to use JMH 1.37 devkit

2023-08-16 Thread Mikael Vidstedt
On Wed, 16 Aug 2023 15:52:09 GMT, Claes Redestad  wrote:

> Use most recent devkit when using jib.
> 
> Test: staged, configured from scratch and verified micros locally

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/15313#pullrequestreview-1581046370


Integrated: 8314166: Update googletest to v1.14.0

2023-08-15 Thread Mikael Vidstedt
On Fri, 11 Aug 2023 22:24:00 GMT, Mikael Vidstedt  wrote:

> As part of the ongoing work to enable -Wconversion with gcc there are a 
> number of occurrences of code in the GoogleTest code itself which need 
> fixing. These have been addressed in version 1.14.0 of GoogleTest. This 
> change is picking up that version, adjusting the relevant build configuration 
> files for GHA and Oracle builds.
> 
> Note: This change updates the documentation and configuration so that 1.14.0 
> is the minimum required version. Strictly speaking 1.14.0 is not required 
> until -Wconversion is _actually_ enabled but since that is presumably just 
> around the corner..
> 
> Testing: GHA, tier1-5 (still in progress)

This pull request has now been integrated.

Changeset: f66c73d3
Author:Mikael Vidstedt 
URL:   
https://git.openjdk.org/jdk/commit/f66c73d34b1e02681f46eb3cd78126c05014f845
Stats: 10 lines in 5 files changed: 0 ins; 0 del; 10 mod

8314166: Update googletest to v1.14.0

Reviewed-by: kbarrett, stuefe, shade, erikj

-

PR: https://git.openjdk.org/jdk/pull/15253


Re: RFR: 8314166: Update googletest to v1.14.0 [v2]

2023-08-15 Thread Mikael Vidstedt
On Tue, 15 Aug 2023 17:05:28 GMT, Mikael Vidstedt  wrote:

>> As part of the ongoing work to enable -Wconversion with gcc there are a 
>> number of occurrences of code in the GoogleTest code itself which need 
>> fixing. These have been addressed in version 1.14.0 of GoogleTest. This 
>> change is picking up that version, adjusting the relevant build 
>> configuration files for GHA and Oracle builds.
>> 
>> Note: This change updates the documentation and configuration so that 1.14.0 
>> is the minimum required version. Strictly speaking 1.14.0 is not required 
>> until -Wconversion is _actually_ enabled but since that is presumably just 
>> around the corner..
>> 
>> Testing: GHA, tier1-5 (still in progress)
>
> Mikael Vidstedt 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 two additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into 8314166-gtest-1.14.0
>  - Update googletest to v1.14.0

Thank you for the reviews.

-

PR Comment: https://git.openjdk.org/jdk/pull/15253#issuecomment-1679512321


Re: RFR: 8314166: Update googletest to v1.14.0 [v2]

2023-08-15 Thread Mikael Vidstedt
> As part of the ongoing work to enable -Wconversion with gcc there are a 
> number of occurrences of code in the GoogleTest code itself which need 
> fixing. These have been addressed in version 1.14.0 of GoogleTest. This 
> change is picking up that version, adjusting the relevant build configuration 
> files for GHA and Oracle builds.
> 
> Note: This change updates the documentation and configuration so that 1.14.0 
> is the minimum required version. Strictly speaking 1.14.0 is not required 
> until -Wconversion is _actually_ enabled but since that is presumably just 
> around the corner..
> 
> Testing: GHA, tier1-5 (still in progress)

Mikael Vidstedt 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 two additional 
commits since the last revision:

 - Merge branch 'master' into 8314166-gtest-1.14.0
 - Update googletest to v1.14.0

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/15253/files
  - new: https://git.openjdk.org/jdk/pull/15253/files/36217d9e..acd7ec37

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk=15253=01
 - incr: https://webrevs.openjdk.org/?repo=jdk=15253=00-01

  Stats: 6213 lines in 224 files changed: 3185 ins; 398 del; 2630 mod
  Patch: https://git.openjdk.org/jdk/pull/15253.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15253/head:pull/15253

PR: https://git.openjdk.org/jdk/pull/15253


RFR: 8314166: Update googletest to v1.14.0

2023-08-11 Thread Mikael Vidstedt
As part of the ongoing work to enable -Wconversion with gcc there are a number 
of occurrences of code in the GoogleTest code itself which need fixing. These 
have been addressed in version 1.14.0 of GoogleTest. This change is picking up 
that version, adjusting the relevant build configuration files for GHA and 
Oracle builds.

Note: This change updates the documentation and configuration so that 1.14.0 is 
the minimum required version. Strictly speaking 1.14.0 is not required until 
-Wconversion is _actually_ enabled but since that is presumably just around the 
corner..

Testing: GHA, tier1-5 (still in progress)

-

Commit messages:
 - Update googletest to v1.14.0

Changes: https://git.openjdk.org/jdk/pull/15253/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk=15253=00
  Issue: https://bugs.openjdk.org/browse/JDK-8314166
  Stats: 10 lines in 5 files changed: 0 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/15253.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15253/head:pull/15253

PR: https://git.openjdk.org/jdk/pull/15253


Re: [jdk21] RFR: 8312985: Remove EA from the JDK 21 version string with first RC promotion on August 10, 2023

2023-08-07 Thread Mikael Vidstedt
On Mon, 7 Aug 2023 23:11:27 GMT, Jesper Wilhelmsson  
wrote:

> JDK-8312985: Remove EA from the JDK 21 version string with first RC promotion 
> on August 10, 2023

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk21/pull/165#pullrequestreview-1566261619


Re: RFR: 8311545: Allow test symbol files to be kept in the test image

2023-07-12 Thread Mikael Vidstedt
On Fri, 7 Jul 2023 02:38:37 GMT, David Holmes  wrote:

> Please review this simple change to allow a test to request that its symbol 
> files be copied across into the test image.
> 
> Testing:
>  - sanity test - tiers 1-3
>  - direct testing in the context of 
> [JDK-8311541](https://bugs.openjdk.org/browse/JDK-8311541)
> 
> Thanks

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/14797#pullrequestreview-1527344527


Re: RFR: 8311545: Allow test symbol files to be kept in the test image

2023-07-07 Thread Mikael Vidstedt
On Fri, 7 Jul 2023 02:38:37 GMT, David Holmes  wrote:

> Please review this simple change to allow a test to request that its symbol 
> files be copied across into the test image.
> 
> Testing:
>  - sanity test - tiers 1-3
>  - direct testing in the context of 
> [JDK-8311541](https://bugs.openjdk.org/browse/JDK-8311541)
> 
> Thanks

Just double-checking: this change is just adding the support, there are 
(currently) no active uses of it?

-

PR Comment: https://git.openjdk.org/jdk/pull/14797#issuecomment-1626108231


Re: [jdk21] RFR: 8308585: AC_REQUIRE: `PLATFORM_EXTRACT_TARGET_AND_BUILD' was expanded before it was required

2023-06-30 Thread Mikael Vidstedt
On Fri, 30 Jun 2023 09:40:11 GMT, Erik Joelsson  wrote:

> This is a clean backport of what was initially a configure warning fix, but 
> turned out to also fix the original intention of JEP 449: deprecating the 
> Windows 32-bit port.

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk21/pull/85#pullrequestreview-1507646764


Re: RFR: 8310384: Add hooks for custom image creation [v2]

2023-06-21 Thread Mikael Vidstedt
On Wed, 21 Jun 2023 17:23:15 GMT, Erik Joelsson  wrote:

>> We have a need for creating custom variants of the JDK image and would like 
>> to be able to reuse the existing Images.gmk for doing so. To be able to do 
>> that, we need to define some variables that are suitable for overrides. 
>> Specifically, we need:
>> 
>> EXTRA_MODULES: a list of extra java module names to include in the "jdk" 
>> image.
>> 
>> EXTRA_JMODS_DIR: a list of extra directories to add to the module path and 
>> look for jmods in, ahead the default jmods dir.
>> 
>> JDK_IMAGE_SUPPORT_DIR: override the location of the support dir. Without 
>> overriding this, multiple calls to Images.gmk will overwrite each others 
>> intermediate files and dependency files.
>
> Erik Joelsson has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Applied same changes to jre image logic for symmetry

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/14563#pullrequestreview-1491419856


Re: RFR: 8310384: Add hooks for custom image creation

2023-06-21 Thread Mikael Vidstedt
On Tue, 20 Jun 2023 13:34:24 GMT, Erik Joelsson  wrote:

> We have a need for creating custom variants of the JDK image and would like 
> to be able to reuse the existing Images.gmk for doing so. To be able to do 
> that, we need to define some variables that are suitable for overrides. 
> Specifically, we need:
> 
> EXTRA_MODULES: a list of extra java module names to include in the "jdk" 
> image.
> 
> EXTRA_JMODS_DIR: a list of extra directories to add to the module path and 
> look for jmods in, ahead the default jmods dir.
> 
> JDK_IMAGE_SUPPORT_DIR: override the location of the support dir. Without 
> overriding this, multiple calls to Images.gmk will overwrite each others 
> intermediate files and dependency files.

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/14563#pullrequestreview-1491270859


Re: RFR: 8310379: Relax prerequisites for java.base-jmod target

2023-06-21 Thread Mikael Vidstedt
On Tue, 20 Jun 2023 13:16:59 GMT, Erik Joelsson  wrote:

> The top level target "java.base-jmod" currently has all other jmod targets on 
> the prerequisites list. This is because we store a checksum for every non 
> upgradeable module in java.base and most of the modules aren't upgradeable. 
> But, since we do have upgradeable modules, those shouldn't be on the 
> prerequisites list for java.base-jmod.
> 
> Fixing this won't impact the build much, but certainly won't hurt either.

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/14561#pullrequestreview-1491256167


Re: RFR: 8310376: Extend SetupTarget macro with DIR parameter

2023-06-20 Thread Mikael Vidstedt
On Tue, 20 Jun 2023 13:07:11 GMT, Erik Joelsson  wrote:

> To allow for more flexibility when using the SetupTarget macro in a custom 
> extension of Main.gmk, I would like to add a DIR parameter, which is the 
> directory the sub make command CDs into before calling make. It defaults to 
> $(TOPDIR)/make. This parameter should be set when the target makefile of the 
> call is located in a different directory.

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/14560#pullrequestreview-1489246116


Re: RFR: 8310369: UTIL_ARG_WITH fails when arg is disabled [v2]

2023-06-20 Thread Mikael Vidstedt
On Tue, 20 Jun 2023 13:10:16 GMT, Erik Joelsson  wrote:

>> I've recently tried to use UTIL_ARG_WITH for new configure arguments in a 
>> project repository and discovered some issues. The project in question may 
>> or may not end up in mainline at some point in the future, but I think 
>> fixing these general issues in UTIL_ARG_WITH is worth it independent of my 
>> specific use case.
>> 
>> For TYPE "directory" the check if the value is a valid directory is supposed 
>> to optionally check for files in the CHECK_FOR_FILES list. The default value 
>> of this list is ":" (due to autoconf peculiarities) but the check is 
>> performed if the value is non empty. This means that if you call 
>> UTIL_ARG_WITH with TYPE "directory" and no CHECK_FOR_FILES, it will always 
>> fail because there is no file ":" in the given directory. This patch changes 
>> the conditional to check for ":" instead of the empty string.
>> 
>> When an optional arg is defined, the validation check is still being 
>> performed when the arg has been disabled (--without-arg). This makes it 
>> impossible to disable something of for example TYPE "directory" as the 
>> directory check will fail. The current configure script in OpenJDK only has 
>> macro calls of type "string" and "literal" where this doesn't cause 
>> problems, because an empty string as value passes validation. This patch 
>> moves the validation so that it's only performed when the arg isn't disabled.
>
> Erik Joelsson has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   copyright year

Marked as reviewed by mikael (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/14558#pullrequestreview-1489245625


  1   2   >