Re: [Ping2?] [8u] RFR: 8210283: Support git as an SCM alternative in the build
On 14:09 Thu 10 Feb , Severin Gehwolf wrote: > > Latest webrev: > https://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8210283/02/webrev/ > > OK? > > Thanks, > Severin > This looks fine. Please flag for approval. Thanks, -- Andrew :) Pronouns: he / him or they / them Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null [v4]
> JDK-8281003 - MethodHandles::lookup throws NPE if caller is null Tim Prinzing has updated the pull request incrementally with one additional commit since the last revision: remove excess description - Changes: - all: https://git.openjdk.java.net/jdk/pull/7447/files - new: https://git.openjdk.java.net/jdk/pull/7447/files/c803a93b..7d1b97fe Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk=7447=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk=7447=02-03 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/7447.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7447/head:pull/7447 PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder) [v21]
On Mon, 14 Feb 2022 23:44:40 GMT, Tyler Steele wrote: >> Just in time for the holidays I have completed an implementation of the JFR >> functionality for AIX. As a side note, this is my first submission to >> OpenJDK >> >> ### Implementation notes and alternatives considered >> >> After modifying the build system to allow the --enable-jvm-feature-jfr to >> work on AIX, my task was to implement the interfaces from os_perf.hpp. The >> os_perf_aix.cpp implementation that existed was, I believe, a copy of the >> Linux implementation. A review of the code in that file showed that >> NetworkInterface, CPUPerformanceInterface, and SystemProcessInterface would >> require modification to work on AIX. Using the Linux implementation as a >> guide, I initially expected to use files from the aix procfs like >> /proc//psinfo, and /proc//status in a manner similar to the Linux >> implementation. However, I ended up using libperfstat for all functionality >> required by the interfaces. >> >> ### Testing >> >> Testing for JFR seems to be quite light in the repo both before and after >> this change. In addition to performing manual testing, I have added some >> basic sanity checks that ensure events can be created and committed (using >> jtreg), and performs some basic checks on the results of the interface >> member functions (using gtest). >> >> ### More notes >> >> I've sent an email to the JFR group about a TOC overflow warning I >> encountered while building (for the release server target). I believe the >> fix is to pass -qpic=large when using the xlc toolchain, but my >> modifications to flags-cflags.m4 have not been successful in removing this >> warning. > > Tyler Steele has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains eight commits: > > - Adds Oracle & IBM copyrights as per guidance from IBM legal team. > - Removes incorrect Oracle copyright line from libperfstat_aix.cpp/hpp, and > loadlib_aix.hpp > - Edit thread_aix.cpp to match thread_linux.cpp in > pd_get_top_fram_for_profiling and ...for_signal_handler > - Addresses issues from review and other sm fixes > >- Adds commenting in regards to memory handling by SystemProcess & >NetworkInterface classes >- Replaces explicit initialization and copy of structs with memcpy >and memset as appropriate >- Renames internal struct definitions in os_perf_aix >- Other minor fixes > - Changes macoss -> macosx in problem list > - Refactors loadlib_aix: Removes redundant c++ class > - Merge branch 'master' into JDK-8203290 > - Implements JFR on AIX > >- Implements interfaces from os_perf.hpp in os_perf_aix.cpp >- Updates libperfstat_aix to contain functionality needed by os_perf_aix >- Implements missing functionality in loadlib_aix (Fixes failure noted >by TestNativeLibraies.java) >- Removes platform checks for --enable-feature-jfr (Now enable-able on >all platforms) >- Enables TestNetworkUtilizationEvent.java which now passes on AIX >- Updates AIX JavaThread::pd_get_top_frame_for_profiling with changes from > Linux Updated to remove IBM from the copyright header when only a small change to the file took place. I am ready to integrate, but I will leave it open for a day or so to allow for any more comments. - PR: https://git.openjdk.java.net/jdk/pull/6885
Re: RFR: 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder) [v20]
On Mon, 14 Feb 2022 17:11:12 GMT, Thomas Stuefe wrote: >> make/autoconf/jvm-features.m4 line 3: >> >>> 1: # >>> 2: # Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights >>> reserved. >>> 3: # Copyright (c) 2022, IBM Corp. >> >> I understand the discussion about copyright lines has plagued this PR, but >> this really looks odd: adding an IBM copyright line when just removing code. >> That does not make sense to me. > > +1 Removing code does not add anything copyrightable; I'd remove that > copyright line. I agree. I no longer add the IBM copyright for files where a one line change, or only removals took place. - PR: https://git.openjdk.java.net/jdk/pull/6885
Re: RFR: 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder) [v21]
> Just in time for the holidays I have completed an implementation of the JFR > functionality for AIX. As a side note, this is my first submission to OpenJDK > > > ### Implementation notes and alternatives considered > > After modifying the build system to allow the --enable-jvm-feature-jfr to > work on AIX, my task was to implement the interfaces from os_perf.hpp. The > os_perf_aix.cpp implementation that existed was, I believe, a copy of the > Linux implementation. A review of the code in that file showed that > NetworkInterface, CPUPerformanceInterface, and SystemProcessInterface would > require modification to work on AIX. Using the Linux implementation as a > guide, I initially expected to use files from the aix procfs like > /proc//psinfo, and /proc//status in a manner similar to the Linux > implementation. However, I ended up using libperfstat for all functionality > required by the interfaces. > > ### Testing > > Testing for JFR seems to be quite light in the repo both before and after > this change. In addition to performing manual testing, I have added some > basic sanity checks that ensure events can be created and committed (using > jtreg), and performs some basic checks on the results of the interface member > functions (using gtest). > > ### More notes > > I've sent an email to the JFR group about a TOC overflow warning I > encountered while building (for the release server target). I believe the fix > is to pass -qpic=large when using the xlc toolchain, but my modifications to > flags-cflags.m4 have not been successful in removing this warning. Tyler Steele has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits: - Adds Oracle & IBM copyrights as per guidance from IBM legal team. - Removes incorrect Oracle copyright line from libperfstat_aix.cpp/hpp, and loadlib_aix.hpp - Edit thread_aix.cpp to match thread_linux.cpp in pd_get_top_fram_for_profiling and ...for_signal_handler - Addresses issues from review and other sm fixes - Adds commenting in regards to memory handling by SystemProcess & NetworkInterface classes - Replaces explicit initialization and copy of structs with memcpy and memset as appropriate - Renames internal struct definitions in os_perf_aix - Other minor fixes - Changes macoss -> macosx in problem list - Refactors loadlib_aix: Removes redundant c++ class - Merge branch 'master' into JDK-8203290 - Implements JFR on AIX - Implements interfaces from os_perf.hpp in os_perf_aix.cpp - Updates libperfstat_aix to contain functionality needed by os_perf_aix - Implements missing functionality in loadlib_aix (Fixes failure noted by TestNativeLibraies.java) - Removes platform checks for --enable-feature-jfr (Now enable-able on all platforms) - Enables TestNetworkUtilizationEvent.java which now passes on AIX - Updates AIX JavaThread::pd_get_top_frame_for_profiling with changes from Linux - Changes: https://git.openjdk.java.net/jdk/pull/6885/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk=6885=20 Stats: 1231 lines in 10 files changed: 461 ins; 502 del; 268 mod Patch: https://git.openjdk.java.net/jdk/pull/6885.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/6885/head:pull/6885 PR: https://git.openjdk.java.net/jdk/pull/6885
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null [v3]
> JDK-8281003 - MethodHandles::lookup throws NPE if caller is null Tim Prinzing has updated the pull request incrementally with one additional commit since the last revision: missing dot - Changes: - all: https://git.openjdk.java.net/jdk/pull/7447/files - new: https://git.openjdk.java.net/jdk/pull/7447/files/02d00ecb..c803a93b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk=7447=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk=7447=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/7447.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7447/head:pull/7447 PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null [v2]
> JDK-8281003 - MethodHandles::lookup throws NPE if caller is null Tim Prinzing has updated the pull request incrementally with one additional commit since the last revision: Changes from feedback. - Improved javadoc. - Single copyright date in new files. - Informative string in exception that is thrown. - Shortened the test name. - Changes: - all: https://git.openjdk.java.net/jdk/pull/7447/files - new: https://git.openjdk.java.net/jdk/pull/7447/files/1bb6316f..02d00ecb Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk=7447=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk=7447=00-01 Stats: 152 lines in 5 files changed: 77 ins; 70 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/7447.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7447/head:pull/7447 PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Mon, 14 Feb 2022 18:10:37 GMT, Alan Bateman wrote: >> `MethodHandles::publicLookup` can be called instead to get a public Lookup >> to invoke a method with a Lookup parameter. The dilemma here is whether >> the API should be made null-caller friendly or using a proper API >> `MethodHandles::publicLookup` for such case. > > You are right. If a JNI attached thread with no Java frames wants a Lookup > then it can invoke publicLookup. I think the proposal here is good. Agreed. In this case there is no caller and any kind of fail-over to a designated caller would risk privilege escalation. So we should throw. I have no objection to throwing something more "diagnostic" than a NPE. Arguably, JNI code is full-privileged, so someone might suggest, "just return a fully privileged lookup on some designated class". But, even if such a class could be designated somehow (e.g., by rummaging down the stack), handing out privileges on that class might be unexpected to the JNI author. In fact, if the JNI code is working on behalf of a *low-privileged class* (whatever that means in context), then handing back a `Lookup` with higher privileges potentially leaks those privileges to the low-privileged class (depending on data flow, of course). Trying to guess at a `Lookup` in this case would only create potential privilege escalations. So we throw, and require the JNI programmer to say something clearer about their intentions. - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Fri, 11 Feb 2022 20:32:46 GMT, Tim Prinzing wrote: > JDK-8281003 - MethodHandles::lookup throws NPE if caller is null Marked as reviewed by jrose (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Fri, 11 Feb 2022 20:32:46 GMT, Tim Prinzing wrote: > JDK-8281003 - MethodHandles::lookup throws NPE if caller is null This needs a CSR and the spec needs update. The test name could be shortened to `s/exeNullCallerMethodHandlesLookup/exeNullCallerLookup/`. src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 121: > 119: Class c = Reflection.getCallerClass(); > 120: if (c == null) { > 121: throw new IllegalCallerException(); Suggestion: throw new IllegalCallerException("no caller frame"); - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Mon, 14 Feb 2022 18:28:09 GMT, Mandy Chung wrote: >> JDK-8281003 - MethodHandles::lookup throws NPE if caller is null > > src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 121: > >> 119: Class c = Reflection.getCallerClass(); >> 120: if (c == null) { >> 121: throw new IllegalCallerException(); > > Suggestion: > > throw new IllegalCallerException("no caller frame"); The javadoc needs to be updated to specify this `IllegalCallerException` be thrown. * @throws IllegalCallerException if there is no caller frame on the stack when called * directly from a JNI attached thread - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Fri, 11 Feb 2022 20:32:46 GMT, Tim Prinzing wrote: > JDK-8281003 - MethodHandles::lookup throws NPE if caller is null test/jdk/java/lang/invoke/MethodHandles/exeNullCallerMethodHandlesLookup/NullCallerMethodHandlesLookupTest.java line 2: > 1: /* > 2: * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights > reserved. As this is a new file then I assume it should be 2022 only. test/jdk/java/lang/invoke/MethodHandles/exeNullCallerMethodHandlesLookup/NullCallerMethodHandlesLookupTest.java line 48: > 46: public class NullCallerMethodHandlesLookupTest { > 47: public static void main(String[] args) throws IOException { > 48: Path launcher = Paths.get(System.getProperty("test.nativepath"), > "NullCallerMethodHandlesLookupTest"); Path.of might be nicer here but doesn't matter. - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Mon, 14 Feb 2022 18:03:45 GMT, Mandy Chung wrote: >> src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 121: >> >>> 119: Class c = Reflection.getCallerClass(); >>> 120: if (c == null) { >>> 121: throw new IllegalCallerException(); >> >> Throwing ICE is probably okay here, I just wonder if there is any practical >> advantage to having it return publicLookup instead, e.g. is there any >> scenario where a JNI attached thread might want to invoke a method with a >> Lookup parameter? > > `MethodHandles::publicLookup` can be called instead to get a public Lookup to > invoke a method with a Lookup parameter. The dilemma here is whether the > API should be made null-caller friendly or using a proper API > `MethodHandles::publicLookup` for such case. You are right. If a JNI attached thread with no Java frames wants a Lookup then it can invoke publicLookup. I think the proposal here is good. - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Mon, 14 Feb 2022 11:56:16 GMT, Alan Bateman wrote: >> JDK-8281003 - MethodHandles::lookup throws NPE if caller is null > > src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 121: > >> 119: Class c = Reflection.getCallerClass(); >> 120: if (c == null) { >> 121: throw new IllegalCallerException(); > > Throwing ICE is probably okay here, I just wonder if there is any practical > advantage to having it return publicLookup instead, e.g. is there any > scenario where a JNI attached thread might want to invoke a method with a > Lookup parameter? `MethodHandles::publicLookup` can be called instead to get a public Lookup to invoke a method with a Lookup parameter. The dilemma here is whether the API should be made null-caller friendly or using a proper API `MethodHandles::publicLookup` for such case. - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: 8246033: bin/print_config.js script uses nashorn jjs tool
On Mon, 14 Feb 2022 16:23:20 GMT, Magnus Ihse Bursie wrote: > The print_config.js tool was written for Nashorn. With the removal of > Nashorn, this script serves no function and should be removed. Marked as reviewed by erikj (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/7464
Re: RFR: 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder) [v20]
On Mon, 14 Feb 2022 10:32:11 GMT, Magnus Ihse Bursie wrote: >> Tyler Steele has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains ten commits: >> >> - Merge branch 'master' into JDK-8203290 >> - Adds Oracle & IBM copyrights as per guidance from IBM legal team. >> - Removes incorrect Oracle copyright line from libperfstat_aix.cpp/hpp, and >> loadlib_aix.hpp >> - Edit thread_aix.cpp to match thread_linux.cpp in >> pd_get_top_fram_for_profiling and ...for_signal_handler >> - Addresses issues from review and other sm fixes >> >>- Adds commenting in regards to memory handling by SystemProcess & >>NetworkInterface classes >>- Replaces explicit initialization and copy of structs with memcpy >>and memset as appropriate >>- Renames internal struct definitions in os_perf_aix >>- Other minor fixes >> - Changes macoss -> macosx in problem list >> - Refactors loadlib_aix: Removes redundant c++ class >> - Merge branch 'master' into JDK-8203290 >> - Implements JFR on AIX >> >>- Implements interfaces from os_perf.hpp in os_perf_aix.cpp >>- Updates libperfstat_aix to contain functionality needed by os_perf_aix >>- Implements missing functionality in loadlib_aix (Fixes failure noted >>by TestNativeLibraies.java) >>- Removes platform checks for --enable-feature-jfr (Now enable-able on >>all platforms) >>- Enables TestNetworkUtilizationEvent.java which now passes on AIX >>- Updates AIX JavaThread::pd_get_top_frame_for_profiling with changes >> from Linux > > make/autoconf/jvm-features.m4 line 3: > >> 1: # >> 2: # Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights >> reserved. >> 3: # Copyright (c) 2022, IBM Corp. > > I understand the discussion about copyright lines has plagued this PR, but > this really looks odd: adding an IBM copyright line when just removing code. > That does not make sense to me. +1 Removing code does not add anything copyrightable; I'd remove that copyright line. - PR: https://git.openjdk.java.net/jdk/pull/6885
RFR: 8246033: bin/print_config.js script uses nashorn jjs tool
The print_config.js tool was written for Nashorn. With the removal of Nashorn, this script serves no function and should be removed. - Commit messages: - 8246033: bin/print_config.js script uses nashorn jjs tool Changes: https://git.openjdk.java.net/jdk/pull/7464/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk=7464=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8246033 Stats: 45 lines in 1 file changed: 0 ins; 45 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7464.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7464/head:pull/7464 PR: https://git.openjdk.java.net/jdk/pull/7464
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Fri, 11 Feb 2022 20:32:46 GMT, Tim Prinzing wrote: > JDK-8281003 - MethodHandles::lookup throws NPE if caller is null Build changes are OK - Marked as reviewed by ihse (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: JDK-8281000 ClassLoader::registerAsParallelCapable throws NPE if caller is null
On Fri, 11 Feb 2022 20:36:26 GMT, Tim Prinzing wrote: > JDK-8281000 ClassLoader::registerAsParallelCapable throws NPE if caller is > null Build changes LGTM. - Marked as reviewed by ihse (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7448
Re: RFR: JDK-8281003 - MethodHandles::lookup throws NPE if caller is null
On Fri, 11 Feb 2022 20:32:46 GMT, Tim Prinzing wrote: > JDK-8281003 - MethodHandles::lookup throws NPE if caller is null src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 121: > 119: Class c = Reflection.getCallerClass(); > 120: if (c == null) { > 121: throw new IllegalCallerException(); Throwing ICE is probably okay here, I just wonder if there is any practical advantage to having it return publicLookup instead, e.g. is there any scenario where a JNI attached thread might want to invoke a method with a Lookup parameter? - PR: https://git.openjdk.java.net/jdk/pull/7447
Re: RFR: 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder) [v20]
On Fri, 4 Feb 2022 00:25:43 GMT, Tyler Steele wrote: >> Just in time for the holidays I have completed an implementation of the JFR >> functionality for AIX. As a side note, this is my first submission to >> OpenJDK >> >> ### Implementation notes and alternatives considered >> >> After modifying the build system to allow the --enable-jvm-feature-jfr to >> work on AIX, my task was to implement the interfaces from os_perf.hpp. The >> os_perf_aix.cpp implementation that existed was, I believe, a copy of the >> Linux implementation. A review of the code in that file showed that >> NetworkInterface, CPUPerformanceInterface, and SystemProcessInterface would >> require modification to work on AIX. Using the Linux implementation as a >> guide, I initially expected to use files from the aix procfs like >> /proc//psinfo, and /proc//status in a manner similar to the Linux >> implementation. However, I ended up using libperfstat for all functionality >> required by the interfaces. >> >> ### Testing >> >> Testing for JFR seems to be quite light in the repo both before and after >> this change. In addition to performing manual testing, I have added some >> basic sanity checks that ensure events can be created and committed (using >> jtreg), and performs some basic checks on the results of the interface >> member functions (using gtest). >> >> ### More notes >> >> I've sent an email to the JFR group about a TOC overflow warning I >> encountered while building (for the release server target). I believe the >> fix is to pass -qpic=large when using the xlc toolchain, but my >> modifications to flags-cflags.m4 have not been successful in removing this >> warning. > > Tyler Steele has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains ten commits: > > - Merge branch 'master' into JDK-8203290 > - Adds Oracle & IBM copyrights as per guidance from IBM legal team. > - Removes incorrect Oracle copyright line from libperfstat_aix.cpp/hpp, and > loadlib_aix.hpp > - Edit thread_aix.cpp to match thread_linux.cpp in > pd_get_top_fram_for_profiling and ...for_signal_handler > - Addresses issues from review and other sm fixes > >- Adds commenting in regards to memory handling by SystemProcess & >NetworkInterface classes >- Replaces explicit initialization and copy of structs with memcpy >and memset as appropriate >- Renames internal struct definitions in os_perf_aix >- Other minor fixes > - Changes macoss -> macosx in problem list > - Refactors loadlib_aix: Removes redundant c++ class > - Merge branch 'master' into JDK-8203290 > - Implements JFR on AIX > >- Implements interfaces from os_perf.hpp in os_perf_aix.cpp >- Updates libperfstat_aix to contain functionality needed by os_perf_aix >- Implements missing functionality in loadlib_aix (Fixes failure noted >by TestNativeLibraies.java) >- Removes platform checks for --enable-feature-jfr (Now enable-able on >all platforms) >- Enables TestNetworkUtilizationEvent.java which now passes on AIX >- Updates AIX JavaThread::pd_get_top_frame_for_profiling with changes from > Linux make/autoconf/jvm-features.m4 line 3: > 1: # > 2: # Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights > reserved. > 3: # Copyright (c) 2022, IBM Corp. I understand the discussion about copyright lines has plagued this PR, but this really looks odd: adding an IBM copyright line when just removing code. That does not make sense to me. - PR: https://git.openjdk.java.net/jdk/pull/6885
Integrated: 8274980: Improve adhoc build version strings
On Thu, 28 Oct 2021 09:34:07 GMT, Magnus Ihse Bursie wrote: > Current adhoc version build strings are not ideal. Some of the problems: > * A build number of "0" is inserted, which make the version string look like > it's an official build, at least when not reading carefully > * The version string gives little indication on what source code the build > was based > > Also, an error was discovered in how the build system generates version > strings without a build number (since this basically never happened before). > A version without a build number, and without a PRE value, but with an OPT > value, should have a "+-" separator, according to JEP 223. While this was > correctly handled, the "+-" separator was also applied to versions without a > build, but with both PRE and OPT. In this case, the "+" should be omitted, > according to JEP 223. This bug is fixed by this commit. > > Ideally, the adhoc version string should include something along the lines of > the output of `git describe`. However, since the version string is set at > configure time, not build time, this will almost immediately become > misleading. :-( A substitute is proposed in this patch, where the branch name > is included in the OPT string (if it's not `master`). > > Finally, this patch fixes hotspot so it can properly build without a build > number. This was the last blocker for why the build system always required > the "0" as build number before. To facilitate interoperability with external > tools (like jib) that still sets build number to "0" to really signal "no > build number", a build number exactly matching "0" will be interpreted as > having no build number. This pull request has now been integrated. Changeset: 95f198b2 Author:Magnus Ihse Bursie URL: https://git.openjdk.java.net/jdk/commit/95f198b2b1b2d5437515dc837cc160e4224c0ff3 Stats: 92 lines in 7 files changed: 29 ins; 10 del; 53 mod 8274980: Improve adhoc build version strings Reviewed-by: shade, erikj - PR: https://git.openjdk.java.net/jdk/pull/6152