Re: RFR: JDK-8329257: AIX: Switch HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc [v3]

2024-04-09 Thread Kim Barrett
On Tue, 9 Apr 2024 19:20:22 GMT, Kim Barrett  wrote:

>> Joachim Kern has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   version check not needed anymore
>
> src/hotspot/share/utilities/globalDefinitions_gcc.hpp line 36:
> 
>> 34: #if defined(_AIX)
>> 35: #include 
>> 36: #endif
> 
> I would much rather see this include added in the few places it was actually 
> needed, rather than being
> added here.

Do we even need to include ? 

>From the Linux man page for alloca:

By necessity, alloca() is a compiler built-in, also known as
__builtin_alloca().  By default, modern compilers automatically
translate all uses of alloca() into the built-in, but this is
forbidden if standards conformance is requested (-ansi, -std=c*),
in which case  is required, lest a symbol dependency be
emitted.

There are uses of it in shared code where there isn't an applicable include,
other than from globalDefinitions_xlc.hpp. So it appears all other supported
compilers do treat it as a built-in with the options we are providing, and
don't need the include. Maybe that's true for the new xlc compiler too?

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558565268


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


RFR: 8329970: Update autoconf build-aux files with latest from 2024-01-01

2024-04-09 Thread Erik Joelsson
Since we are now able to update the autoconf build-aux files, I think it's 
prudent to semi regularly do just that. I'm not aware of any particular 
platform that has been improved that would affect OpenJDK and I don't think we 
can further trim down our wrappers this time. This is more about staying with 
the latest. As of the filing of this bug, that is 2024-01-01, found here:

https://git.savannah.gnu.org/cgit/config.git/

I have verified this with the platforms we build for at Oracle. I would 
encourage other OpenJDK distributors to verify on any platforms not covered by 
us. I will leave this open for a few days.

-

Commit messages:
 - JDK-8329970

Changes: https://git.openjdk.org/jdk/pull/18704/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk=18704=00
  Issue: https://bugs.openjdk.org/browse/JDK-8329970
  Stats: 224 lines in 2 files changed: 126 ins; 24 del; 74 mod
  Patch: https://git.openjdk.org/jdk/pull/18704.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18704/head:pull/18704

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


Re: RFR: JDK-8329257: AIX: Switch HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc [v3]

2024-04-09 Thread Kim Barrett
On Tue, 2 Apr 2024 16:14:12 GMT, Joachim Kern  wrote:

>> As of [JDK-8325880](https://bugs.openjdk.org/browse/JDK-8325880), building 
>> the JDK requires version 17 of IBM Open XL C/C++ (xlc). This is in effect 
>> clang by another name, and it uses the clang toolchain in the JDK build. 
>> Thus the old xlc toolchain was removed by 
>> [JDK-8327701](https://bugs.openjdk.org/browse/JDK-8327701).
>> Now we also switch the HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc, removing the 
>> last xlc rudiment.
>> This means merging the AIX specific content of 
>> utilities/globalDefinitions_xlc.hpp and utilities/compilerWarnings_xlc.hpp 
>> into the corresponding gcc files on the on side and removing the 
>> defined(TARGET_COMPILER_xlc) blocks in the code, because the 
>> defined(TARGET_COMPILER_gcc) blocks work out of the box for the new AIX 
>> compiler.
>> The rest of the changes are needed because of using 
>> utilities/compilerWarnings_gcc.hpp the compiler is much more nagging about 
>> ill formatted printf
>
> Joachim Kern has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   version check not needed anymore

Changes requested by kbarrett (Reviewer).

src/hotspot/share/utilities/byteswap.hpp line 2:

> 1: /*
> 2:  * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.

Don't drop the creation year.

src/hotspot/share/utilities/globalDefinitions_gcc.hpp line 36:

> 34: #if defined(_AIX)
> 35: #include 
> 36: #endif

I would much rather see this include added in the few places it was actually 
needed, rather than being
added here.

-

PR Review: https://git.openjdk.org/jdk/pull/18536#pullrequestreview-1989864573
PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558124034
PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558172309


Re: RFR: JDK-8329257: AIX: Switch HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc [v3]

2024-04-09 Thread Stewart X Addison
On Tue, 9 Apr 2024 17:01:59 GMT, Thomas Stuefe  wrote:

>> @suchismith1993
>> Hi Suchi, can you please tell me when you will raise your build environment 
>> from AIX 7.2 TL5 SP5 to SP7?
>> I' am asking you, because I want to get rid of this nasty workaround.
>
> Pinging @sxa - what build environment does temurin use for AIX?

Currently XLC16 but looking to upgrade to XLC17 on the minimum supported level 
for it (So it wouldn't be SP7 at present). Thanks for the ping - we have no 
current plans to increase to SP7.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558053537


Re: RFR: JDK-8329257: AIX: Switch HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc [v3]

2024-04-09 Thread Thomas Stuefe
On Tue, 2 Apr 2024 09:19:16 GMT, Joachim Kern  wrote:

>> Hi Thomas,
>> I would like to get totally rid of this, because as I mentioned IBM already 
>> modified the `stdlib.h` header not using `#define malloc vec_malloc` any 
>> more (and all the other vec_... defines). We have to ask the adoptium 
>> colleagues at IBM if they already have raised their build environment by the 
>> 2 SP levels needed.
>> In principle we had to do the same workaround for `calloc, free,...` too, 
>> but they didn't show up as errors in the logging files.
>> These lines where never meant to stay for long. Just to be able to compile 
>> until IBM fixes the issue, which is done now.
>
> @suchismith1993
> Hi Suchi, can you please tell me when you will raise your build environment 
> from AIX 7.2 TL5 SP5 to SP7?
> I' am asking you, because I want to get rid of this nasty workaround.

Pinging @sxa - what build environment does temurin use for AIX?

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558020493


Re: RFR: JDK-8329257: AIX: Switch HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc [v3]

2024-04-09 Thread Thomas Stuefe
On Tue, 2 Apr 2024 16:14:12 GMT, Joachim Kern  wrote:

>> As of [JDK-8325880](https://bugs.openjdk.org/browse/JDK-8325880), building 
>> the JDK requires version 17 of IBM Open XL C/C++ (xlc). This is in effect 
>> clang by another name, and it uses the clang toolchain in the JDK build. 
>> Thus the old xlc toolchain was removed by 
>> [JDK-8327701](https://bugs.openjdk.org/browse/JDK-8327701).
>> Now we also switch the HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc, removing the 
>> last xlc rudiment.
>> This means merging the AIX specific content of 
>> utilities/globalDefinitions_xlc.hpp and utilities/compilerWarnings_xlc.hpp 
>> into the corresponding gcc files on the on side and removing the 
>> defined(TARGET_COMPILER_xlc) blocks in the code, because the 
>> defined(TARGET_COMPILER_gcc) blocks work out of the box for the new AIX 
>> compiler.
>> The rest of the changes are needed because of using 
>> utilities/compilerWarnings_gcc.hpp the compiler is much more nagging about 
>> ill formatted printf
>
> Joachim Kern has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   version check not needed anymore

src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp line 440:

> 438:   st->print("pc =" INTPTR_FORMAT "  ", (unsigned 
> long)uc->uc_mcontext.jmp_context.iar);
> 439:   st->print("lr =" INTPTR_FORMAT "  ", (unsigned 
> long)uc->uc_mcontext.jmp_context.lr);
> 440:   st->print("ctr=" INTPTR_FORMAT "  ", (unsigned 
> long)uc->uc_mcontext.jmp_context.ctr);

p2i

src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp line 443:

> 441:   st->cr();
> 442:   for (int i = 0; i < 32; i++) {
> 443: st->print("r%-2d=" INTPTR_FORMAT "  ", i, (unsigned 
> long)uc->uc_mcontext.jmp_context.gpr[i]);

p2i

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558017408
PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558017827


Re: RFR: JDK-8329257: AIX: Switch HOTSPOT_TOOLCHAIN_TYPE from xlc to gcc [v3]

2024-04-09 Thread Thomas Stuefe
On Tue, 2 Apr 2024 10:26:42 GMT, Joachim Kern  wrote:

>> src/hotspot/os/aix/os_aix.cpp line 314:
>> 
>>> 312:   ErrnoPreserver ep;
>>> 313:   log_trace(os, map)("disclaim failed: " RANGEFMT " errno=(%s)",
>>> 314:  RANGEFMTARGS(p, (long)maxDisclaimSize),
>> 
>> Wait, why are these casts needed? maxDisclaimSize is size_t, RANGEFMT uses 
>> SIZE_FORMAT. That should work without cast.
>
> Hi Thomas, `maxDisclaimSize` is of type `unsigned int`; therefore I get the 
> following warning:
> 
> os/aix/os_aix.cpp:314:42: error: format specifies type 'unsigned long' but 
> the argument has type 'unsigned int' [-Werror,-Wformat]
>  RANGEFMTARGS(p, maxDisclaimSize),
>  ^~~
> 
> Should I keep the casts, or change the type of `maxDisclaimSize, 
> numFullDisclaimsNeeded, lastDisclaimSize` to `const unsigned long`?

I would change them to size_t. Thanks for doing this.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18536#discussion_r1558012122


Re: RFR: 8317376: Minor improvements to the 'this' escape analyzer [v4]

2024-04-09 Thread Archie Cobbs
> Please review several fixes and improvements to the `this-escape` lint 
> warning analyzer.
> 
> The goal here is to apply some relatively simple logical fixes that improve 
> the precision and accuracy of the analyzer, and capture the remaining 
> low-hanging fruit so we can consider the analyzer relatively complete with 
> respect to what's feasible with its current design.
> 
> Although the changes are small from a logical point of view, they generate a 
> fairly large patch due to impact of refactoring (sorry!). Most of the patch 
> derives from the first two changes listed below.
> 
> The changes are summarized here:
> 
>  1. Generalize how we categorize references
> 
> The `Ref` class hierarchy models the various ways in which, at any point 
> during the execution of a constructor or some other method/constructor that 
> it invokes, there can be live references to the original object under 
> construction lying around. We then look for places where one of these `Ref`'s 
> might be passed to a subclass method. In other words, the analyzer keeps 
> track of these references and watches what happens to them as the code 
> executes so it can catch them trying to "escape".
> 
> Previously the `Ref` categories were:
> * `ThisRef` - The current instance of the (non-static) method or constructor 
> being analyzed
> * `OuterRef` - The current outer instance of the (non-static) method or 
> constructor being analyzed
> * `VarRef` - A local variable or method parameter currently in scope
> * `ExprRef` - An object reference sitting on top of the Java execution stack
> * `YieldRef` - The current switch expression's yield value(s)
> * `ReturnRef` - The current method's return value(s)
> 
> For each of those types, we further classified the "indirection" of the 
> reference, i.e., whether the reference was direct (from the thing itself) or 
> indirect (from something the thing referenced).
> 
> The problem with that hierarchy is that we could only track outer instance 
> references that happened to be associated with the current instance. So we 
> might know that `this` had an outer instance reference, but if we said `var x 
> = this` we wouldn't know that `x` had an outer instance reference.
> 
> In other words, we should be treating "via an outer instance" as just another 
> flavor of indirection along with "direct" and "indirect".
> 
> As a result, with this patch the `OuterRef` class goes away and a new 
> `Indirection` enum has been created, with values `DIRECT`, `INDIRECT`, and 
> `OUTER`.
> 
>  2. Track the types of all references
> 
> By keeping track of the actual type of...

Archie Cobbs has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains eight commits:

 - Merge branch 'master' into JDK-8317376
 - Merge branch 'master' into JDK-8317376
 - Merge branch 'master' into JDK-8317376
 - Merge branch 'master' into JDK-8317376
 - Merge branch 'master' into JDK-8317376
 - Javadoc++
 - Merge branch 'master' into JDK-8317376
 - Several improvements to the 'this' escape analyzer.
   
   - Track direct, indirect, and outer references for all Ref types.
   - Keep type information about all references to improve tracking precision.
   - Track enhanced for() invocations of iterator(), hasNext(), and next().
   - Don't report an escape of a non-public outer instances as a leak.
   - Fix omitted tracking of references from newly instantiated instances.
   - Fix omitted tracking of leaks via lambda return values.
   - Remove unneccesary suppressions of this-escape lint warning.

-

Changes: https://git.openjdk.org/jdk/pull/16208/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk=16208=03
  Stats: 869 lines in 19 files changed: 513 ins; 146 del; 210 mod
  Patch: https://git.openjdk.org/jdk/pull/16208.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16208/head:pull/16208

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


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

2024-04-09 Thread Hamlin Li
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

Just a quick update, this pr introduces some performance regression compared 
with previous version (https://github.com/openjdk/jdk/pull/18294) for some math 
functions (e.g. Double256Vector.COS), and no regression for some others (e.g.  
Double256Vector.ACOS).
I'm investigating.

-

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


Integrated: 8328614: hsdis: dlsym can't find decode symbol

2024-04-09 Thread Robbin Ehn
On Wed, 20 Mar 2024 16:17:36 GMT, Robbin Ehn  wrote:

> Hi, please consider.
> 
> [8327045](https://bugs.openjdk.org/browse/JDK-8327045) hide these symbols.
> Tested with gcc and clang, and llvm and binutils backend.
> 
> I didn't find any use of the "DLL_ENTRY", so I removed it.
> 
> Thanks, Robbin

This pull request has now been integrated.

Changeset: 1e02a13a
Author:Robbin Ehn 
URL:   
https://git.openjdk.org/jdk/commit/1e02a13a7f02a6fe9aac38b93935bcc238f7d227
Stats: 18 lines in 5 files changed: 8 ins; 8 del; 2 mod

8328614: hsdis: dlsym can't find decode symbol

Reviewed-by: ihse, luhenry, mli

-

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


Integrated: 8324673: javacserver failed during build: RejectedExecutionException

2024-04-09 Thread Daniel Jeliński
On Mon, 8 Apr 2024 09:20:44 GMT, Daniel Jeliński  wrote:

> The RejectedExecutionException was thrown when the thread executing 
> `Server.start` managed to shut down the `compilerThreadPool` before the 
> thread executing `Server.handleRequest` submitted the compilation task.
> 
> This patch removes the extra thread used for `Server.handleRequest`, and 
> executes that method directly in the thread pool. All `compilerThreadPool` 
> uses happen on the `Server.start` thread now, and no new tasks are submitted 
> after the thread pool is shut down.
> 
> In order to verify the fix, I modified `IdleMonitor.KEEPALIVE` to 1 second. 
> With that change the problem was occasionally reproducible without the patch 
> from this PR. With the patch, the `RejectedExecutionException` problem did 
> not reproduce. 
> 
> No new regression test. Existing langtools tests continue to pass.

This pull request has now been integrated.

Changeset: 3b6629ce
Author:Daniel Jeliński 
URL:   
https://git.openjdk.org/jdk/commit/3b6629cec7a2ecec8dcb5b94d8ed3e169483aa97
Stats: 19 lines in 2 files changed: 1 ins; 10 del; 8 mod

8324673: javacserver failed during build: RejectedExecutionException

Reviewed-by: cstein, erikj

-

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


Re: RFR: 8324673: javacserver failed during build: RejectedExecutionException

2024-04-09 Thread Daniel Jeliński
On Mon, 8 Apr 2024 09:20:44 GMT, Daniel Jeliński  wrote:

> The RejectedExecutionException was thrown when the thread executing 
> `Server.start` managed to shut down the `compilerThreadPool` before the 
> thread executing `Server.handleRequest` submitted the compilation task.
> 
> This patch removes the extra thread used for `Server.handleRequest`, and 
> executes that method directly in the thread pool. All `compilerThreadPool` 
> uses happen on the `Server.start` thread now, and no new tasks are submitted 
> after the thread pool is shut down.
> 
> In order to verify the fix, I modified `IdleMonitor.KEEPALIVE` to 1 second. 
> With that change the problem was occasionally reproducible without the patch 
> from this PR. With the patch, the `RejectedExecutionException` problem did 
> not reproduce. 
> 
> No new regression test. Existing langtools tests continue to pass.

Thanks for the reviews!

-

PR Comment: https://git.openjdk.org/jdk/pull/18672#issuecomment-2045276658


RFR: JDK-8329617: Update stylesheet for specs and tool documentation

2024-04-09 Thread Hannes Wallnöfer
Please review an update to the `jdk-default.css` stylesheet used for 
specifications and tool guides. The original purpose was to make use of the 
Dejavu web fonts provided by the API docs and to update the navigation bar to 
match the one in the API docs. However, the updates include some other fixes 
and improvements also described below.

 - The change to use the DejaVu web fonts consists only of the `@import` 
statement in line 16 as the stylesheet already used DejaVu web fonts as first 
choice in its `font-family` rules.
 - The changes to make the navigation bar match the one in the API docs are 
mostly located at the end of the file (beyond line 160). However, this also 
includes setting the `margin` property to '0' in the `body` element and adding 
a `margin` in the `main` and `footer` elements instead. 
 - To set the horizontal margin for page content elements outside the `main` 
element which occur in some pages, a margin is set explicitly on those elements 
in lines 48-50. While this is a bit awkward, I think it's still better than 
working with negative margins in the header to offset the margin in the `body` 
element.
 - Most of the remaining changes (lines 53-110) are changes are to redefine the 
styles in simpler terms, such as leaving out declarations that are equal to 
browser defaults, and removing the units from `0`-length values.

The changes are intended to preserve the layout of the pages, including the 
body font size which is slightly different from the one used in API docs 
(`10pt` vs `14px`). I can provide before/after snapshots of the rendered 
documentation if desired.

-

Commit messages:
 - JDK-8329617: Update stylesheet for specs and tool documentation

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

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


Re: RFR: JDK-8298405: Implement JEP 467: Markdown Documentation Comments [v55]

2024-04-09 Thread Pavel Rappo
On Mon, 8 Apr 2024 21:12:42 GMT, Jonathan Gibbons  wrote:

>> Please review a patch to add support for Markdown syntax in documentation 
>> comments, as described in the associated JEP.
>> 
>> Notable features:
>> 
>> * support for `///` documentation comments in `JavaTokenizer`
>> * new module `jdk.internal.md` -- a private copy of the `commonmark-java` 
>> library
>> * updates to `DocCommentParser` to treat `///` comments as Markdown
>> * updates to the standard doclet to render Markdown comments in HTML
>
> Jonathan Gibbons has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   add support for JDK-8329296: Update Elements for '///' documentation 
> comments

Changes for 21f5b00 mostly look good, but I'm not a compiler person.

src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java 
line 443:

> 441: @DefinedBy(Api.LANGUAGE_MODEL)
> 442: public CommentKind getDocCommentKind(Element e) {
> 443: return  getDocCommentItem(e, ((docCommentTable, tree) -> 
> docCommentTable.getCommentKind(tree)));

Nit:
Suggestion:

return getDocCommentItem(e, ((docCommentTable, tree) -> 
docCommentTable.getCommentKind(tree)));

src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java 
line 443:

> 441: @DefinedBy(Api.LANGUAGE_MODEL)
> 442: public CommentKind getDocCommentKind(Element e) {
> 443: return  getDocCommentItem(e, ((docCommentTable, tree) -> 
> docCommentTable.getCommentKind(tree)));

Again:
Suggestion:

return getDocCommentItem(e, ((docCommentTable, tree) -> 
docCommentTable.getCommentKind(tree)));

src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocCommentTable.java 
line 55:

> 53: 
> 54: /**
> 55:  * Get the plain text of the doc comment, if any, for a tree node.

This is likely a copy-pasted comment.

-

PR Review: https://git.openjdk.org/jdk/pull/16388#pullrequestreview-1988489764
PR Review Comment: https://git.openjdk.org/jdk/pull/16388#discussion_r1557248565
PR Review Comment: https://git.openjdk.org/jdk/pull/16388#discussion_r1557249290
PR Review Comment: https://git.openjdk.org/jdk/pull/16388#discussion_r1557444619


Re: RFR: 8328614: hsdis: dlsym can't find decode symbol [v3]

2024-04-09 Thread Hamlin Li
On Fri, 5 Apr 2024 10:45:24 GMT, Robbin Ehn  wrote:

>> Hi, please consider.
>> 
>> [8327045](https://bugs.openjdk.org/browse/JDK-8327045) hide these symbols.
>> Tested with gcc and clang, and llvm and binutils backend.
>> 
>> I didn't find any use of the "DLL_ENTRY", so I removed it.
>> 
>> Thanks, Robbin
>
> Robbin Ehn has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Use JNIEXPORT

Looks good.
Although I'm not the right person to review this, thanks for explanation and 
discussion.

-

Marked as reviewed by mli (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18400#pullrequestreview-1988652730


Re: RFR: 8311302: Allow for jlinking a custom runtime without packaged modules being present [v23]

2024-04-09 Thread Severin Gehwolf
On Wed, 3 Apr 2024 22:31:39 GMT, Mandy Chung  wrote:

>> Severin Gehwolf has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Move CreateLinkableRuntimePlugin to build folder
>>   
>>   Keep runtime link supporting classes in package
>>   jdk.tools.jlink.internal.runtimelink
>
> Thanks for the investigation w.r.t. extending jimage.  It does not seem worth 
> the effort in pursuing the support of adding resources to an existing jimage 
> file.   To me, putting the diff data under `lib` directory as a private file 
> is a simpler and acceptable solution.   It allows the second jlink invocation 
> to avoid the plugin pipeline if the per-module metadata is generated in 
> normal jlink invocation.
> 
> (An observation: The current implementation requires the diffs to be 
> generated as a plugin.  For this approach, it may be possible to implement 
> with a separate main class that calls JLink API and generates the diffs.)

@mlchung @AlanBateman Any thoughts on this latest version? Is this going into 
the direction you had envisioned? Any more blockers? The CSR should be 
up-to-date and is open for review as well. If no more blockers I'll go over 
this patch once more and clean it up to prepare for integration. Thanks!

-

PR Comment: https://git.openjdk.org/jdk/pull/14787#issuecomment-2044593102


Re: RFR: 8328614: hsdis: dlsym can't find decode symbol [v3]

2024-04-09 Thread Robbin Ehn
On Fri, 5 Apr 2024 10:45:24 GMT, Robbin Ehn  wrote:

>> Hi, please consider.
>> 
>> [8327045](https://bugs.openjdk.org/browse/JDK-8327045) hide these symbols.
>> Tested with gcc and clang, and llvm and binutils backend.
>> 
>> I didn't find any use of the "DLL_ENTRY", so I removed it.
>> 
>> Thanks, Robbin
>
> Robbin Ehn has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Use JNIEXPORT

Yea, I know, but if hsdis is not an external library I considered it part of 
hotspot as it is the only use, hence I want two reviews. :)

-

PR Comment: https://git.openjdk.org/jdk/pull/18400#issuecomment-2044575768


Re: RFR: 8328614: hsdis: dlsym can't find decode symbol [v3]

2024-04-09 Thread Magnus Ihse Bursie
On Fri, 5 Apr 2024 10:45:24 GMT, Robbin Ehn  wrote:

>> Hi, please consider.
>> 
>> [8327045](https://bugs.openjdk.org/browse/JDK-8327045) hide these symbols.
>> Tested with gcc and clang, and llvm and binutils backend.
>> 
>> I didn't find any use of the "DLL_ENTRY", so I removed it.
>> 
>> Thanks, Robbin
>
> Robbin Ehn has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Use JNIEXPORT

FYI: The 2-reviewer rule only applies to Hotspot (and some other specific parts 
of the code base), and not generally for JDK fixes. So you had been fine to 
push with just one reviewer.

-

PR Comment: https://git.openjdk.org/jdk/pull/18400#issuecomment-2044521203


Re: RFR: 8328614: hsdis: dlsym can't find decode symbol [v3]

2024-04-09 Thread Robbin Ehn
On Tue, 9 Apr 2024 08:06:19 GMT, Ludovic Henry  wrote:

>> Robbin Ehn has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Use JNIEXPORT
>
> Marked as reviewed by luhenry (Committer).

Thank you @luhenry !

-

PR Comment: https://git.openjdk.org/jdk/pull/18400#issuecomment-2044496543


Re: RFR: 8328614: hsdis: dlsym can't find decode symbol [v3]

2024-04-09 Thread Ludovic Henry
On Fri, 5 Apr 2024 10:45:24 GMT, Robbin Ehn  wrote:

>> Hi, please consider.
>> 
>> [8327045](https://bugs.openjdk.org/browse/JDK-8327045) hide these symbols.
>> Tested with gcc and clang, and llvm and binutils backend.
>> 
>> I didn't find any use of the "DLL_ENTRY", so I removed it.
>> 
>> Thanks, Robbin
>
> Robbin Ehn has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Use JNIEXPORT

Marked as reviewed by luhenry (Committer).

-

PR Review: https://git.openjdk.org/jdk/pull/18400#pullrequestreview-1988392854