Re: RFR: JDK-8276572: Fake libsyslookup.so library causes tooling issues

2021-11-04 Thread Andrew John Hughes
On Thu, 4 Nov 2021 04:19:02 GMT, Andrew John Hughes  wrote:

> The lack of anything to compile in `syslookup.c` is leading to a number of 
> issues in our tooling, on some architectures more than others (s390x seems to 
> be the most problematic).  They expect to be able to retrieve debuginfo and 
> compiler flags from generated .so files and fail with libsyslookup.so
> 
> This simple patch adds a dummy function to `syslookup.c` so it appears more 
> like a regular file to be compiled. I can't see this causing a problem with 
> the symbol lookup, but we could filter it out on the Java side if need be.

Ok, if it works, it's still going to be messy, as we have to disable this 
warning:



-

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


Re: RFR: 8275509: ModuleDescriptor.hashCode isn't reproducible across builds [v12]

2021-11-04 Thread Jaikiran Pai
On Thu, 4 Nov 2021 05:16:42 GMT, Jaikiran Pai  wrote:

>> Can I please get a review for this change which fixes the issue reported in 
>> https://bugs.openjdk.java.net/browse/JDK-8275509?
>> 
>> The `ModuleDescriptor.hashCode()` method uses the hash code of its various 
>> components to compute the final hash code. While doing so it ends up calling 
>> hashCode() on (collection of) various `enum` types. Since the hashCode() of 
>> enum types is generated from a call to `java.lang.Object.hashCode()`, their 
>> value isn't guaranteed to stay the same across multiple JVM runs.
>> 
>> The commit here proposes to use the ordinal of the enum as the hash code. As 
>> Alan notes in the mailing list discussion, any changes to the ordinal of the 
>> enum (either due to addition of new value, removal of a value or just 
>> reordering existing values, all of which I think will be rare in these 
>> specific enum types) isn't expected to produce the same hash code across 
>> those changed runtimes and that should be okay. 
>> 
>> The rest of the ModuleDescriptor.hashCode() has been reviewed too and apart 
>> from calls to the enum types hashCode(), rest of the calls in that 
>> implementation, either directly or indirectly end up as calls on 
>> `java.lang.String.hashCode()` and as such aren't expected to cause 
>> non-deterministic values.
>> 
>> A new jtreg test has been added to reproduce this issue and verify the fix.
>
> Jaikiran Pai has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   use Enum#name() for hashCode() generation instead of Enum#ordinal()

FWIW, the GitHub Actions job failure for Windows is due to an unrelated reason:


2021-11-04T05:22:48.5273779Z /usr/bin/bash: line 1:  1174 Segmentation fault
  (core dumped) /usr/bin/make -s -r -R -I /cygdrive/d/a/jdk/jdk/jdk/make/common 
SPEC=/cygdrive/d/a/jdk/jdk/jdk/build/windows-x64/spec.gmk MAKE_LOG_FLAGS="-s" 
-f ModuleWrapper.gmk -I /cygdrive/d/a/jdk/jdk/jdk/make/common/modules 
-I/cygdrive/d/a/jdk/jdk/jdk/make/modules/java.base MODULE=java.base 
MAKEFILE_PREFIX=Copy
2021-11-04T05:22:48.5304517Z make[2]: *** [make/Main.gmk:157: java.base-copy] 
Error 139
2021-11-04T05:22:48.5305851Z make[2]: *** Waiting for unfinished jobs
2021-11-04T05:22:48.8158343Z Compiling 12 properties into resource bundles for 
jdk.jdeps
2021-11-04T05:22:49.2707959Z 
2021-11-04T05:22:49.2712144Z ERROR: Build failed for target 'default 
(product-bundles test-bundles)' in configuration 'windows-x64' (exit code 2) 
2021-11-04T05:22:49.8818435Z 
2021-11-04T05:22:49.8823500Z No indication of failed target found.
2021-11-04T05:22:49.8845292Z Hint: Try searching the build log for '] Error'.
2021-11-04T05:22:49.9156326Z Hint: See doc/building.html#troubleshooting for 
assistance.
2021-11-04T05:22:49.9156822Z 
2021-11-04T05:22:49.9206739Z make[1]: *** 
[/cygdrive/d/a/jdk/jdk/jdk/make/Init.gmk:315: main] Error 2
2021-11-04T05:22:49.9249924Z make: *** 
[/cygdrive/d/a/jdk/jdk/jdk/make/Init.gmk:186: default] Error 2
2021-11-04T05:22:50.0054100Z ##[error]Process completed with exit code 1.

Going ahead with the merge of this PR.

Thank you Alan and Magnus for the inputs and the reviews.

-

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


Integrated: 8275509: ModuleDescriptor.hashCode isn't reproducible across builds

2021-11-04 Thread Jaikiran Pai
On Fri, 22 Oct 2021 09:33:35 GMT, Jaikiran Pai  wrote:

> Can I please get a review for this change which fixes the issue reported in 
> https://bugs.openjdk.java.net/browse/JDK-8275509?
> 
> The `ModuleDescriptor.hashCode()` method uses the hash code of its various 
> components to compute the final hash code. While doing so it ends up calling 
> hashCode() on (collection of) various `enum` types. Since the hashCode() of 
> enum types is generated from a call to `java.lang.Object.hashCode()`, their 
> value isn't guaranteed to stay the same across multiple JVM runs.
> 
> The commit here proposes to use the ordinal of the enum as the hash code. As 
> Alan notes in the mailing list discussion, any changes to the ordinal of the 
> enum (either due to addition of new value, removal of a value or just 
> reordering existing values, all of which I think will be rare in these 
> specific enum types) isn't expected to produce the same hash code across 
> those changed runtimes and that should be okay. 
> 
> The rest of the ModuleDescriptor.hashCode() has been reviewed too and apart 
> from calls to the enum types hashCode(), rest of the calls in that 
> implementation, either directly or indirectly end up as calls on 
> `java.lang.String.hashCode()` and as such aren't expected to cause 
> non-deterministic values.
> 
> A new jtreg test has been added to reproduce this issue and verify the fix.

This pull request has now been integrated.

Changeset: 396132ff
Author:Jaikiran Pai 
URL:   
https://git.openjdk.java.net/jdk/commit/396132ff1e56463ad195cac5c9ac8e2eac5a16e8
Stats: 92 lines in 2 files changed: 88 ins; 0 del; 4 mod

8275509: ModuleDescriptor.hashCode isn't reproducible across builds

Reviewed-by: alanb, ihse

-

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


Re: RFR: 8275509: ModuleDescriptor.hashCode isn't reproducible across builds [v12]

2021-11-04 Thread Jaikiran Pai
On Thu, 4 Nov 2021 14:08:50 GMT, Alan Bateman  wrote:

> One final thought on this is whether we should remove the 
> tools/jlink/JLinkReproducibleXXX tests from the exclude list.

Yes, I'm working on it in a separate PR.

-

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


Re: RFR: 8271515: Integration of JEP 417: Vector API (Third Incubator) [v7]

2021-11-04 Thread Ningsheng Jian
On Wed, 3 Nov 2021 03:10:16 GMT, Ningsheng Jian  wrote:

> Converting from double to long and then narrow to target types did not follow 
> JLS. I will fix it. Thanks to @fg1417 for helping to find out this issue.

Fixed in the new commit. Thanks to @PaulSandoz for integrating the fix!

Hi Nick @nick-arm ,

Could you please help to review the new commit, which fixes the same issue as 
JDK-8276151 for SVE? Thanks!

-

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


Re: RFR: 8271515: Integration of JEP 417: Vector API (Third Incubator) [v8]

2021-11-04 Thread Nick Gasson
On Thu, 4 Nov 2021 15:56:46 GMT, Paul Sandoz  wrote:

>> This PR improves the performance of vector operations that accept masks on 
>> architectures that support masking in hardware, specifically Intel AVX512 
>> and ARM SVE.
>> 
>> On architectures that do not support masking in hardware the same technique 
>> as before is applied to most operations, specifically composition using 
>> blend.
>> 
>> Masked loads/stores are a special form of masked operation that require 
>> additional care to ensure out-of-bounds access throw exceptions. The range 
>> checking has not been fully optimized and will require further work.
>> 
>> No API enhancements were required and only a few additional tests were 
>> needed.
>
> Paul Sandoz has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Merge pull request #2 from nsjian/vector-conversion-fix
>
>AArch64: Incorrect SVE double to int and float to long vector conversion
>  - Incorrect double to int and float to long vector conversion
>
>Like JDK-8276151, SVE vector double to int and float to long
>conversions have similar issue. According to Java language
>specification [1], we should convert double/float to
>integer/long directly, instead of converting to long/int and then
>narrowing/extending to target types. Test cases will be updated in
>JDK-8276151.
>
>[1] https://docs.oracle.com/javase/specs/jls/se17/html/jls-5.html#jls-5.1.3

Marked as reviewed by ngasson (Reviewer).

-

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


Re: RFR: JDK-8276572: Fake libsyslookup.so library causes tooling issues

2021-11-04 Thread Andrew John Hughes
On Thu, 4 Nov 2021 12:40:15 GMT, Maurizio Cimadamore  
wrote:

> Looks ok. As long as we don't introduce more dependencies.
> 
> One question: would introducing a static function (so, not visible in the 
> resulting DLL) be good enough?

I did wonder about this too. I'll have to check it still resolves the issues we 
see before updating the PR.

-

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


Re: RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

2021-11-04 Thread Michael Bien
On Thu, 4 Nov 2021 20:56:45 GMT, Andrew Leonard  wrote:

> This PR enables reproducible Jars, Jmods and openjdk image zip files 
> (eg.src.zip).
> It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying 
> ZipOutputStream's.
> It fixes the following keys issues relating to reproducibility:
> - Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
>   - Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
> - Jar and Jmod file content ordering was non-determinsitic
>   - Fixes to Jar and Jmod main's to ensure sorted classes content ordering
> - openjdk image zip file generation used "zip" which is non-determinsitic
>   - New openjdk build tool "GenerateZip" which produces the final 
> determinsitic zip files as part of the build and also detects 
> SOURCE_DATE_EPOCH
> 
> Signed-off-by: Andrew Leonard 

a few minor comments

make/jdk/src/classes/build/tools/generatezip/GenerateZip.java line 96:

> 94: ok = createOk;
> 95: }
> 96: out.close();

could be a try-with-resource block

make/jdk/src/classes/build/tools/generatezip/GenerateZip.java line 191:

> 189: Iterator> itr = 
> filesToProcess.entrySet().iterator();
> 190: while(itr.hasNext()) {
> 191: Map.Entry entry = itr.next();

could be `for (Map.Entry entry : filesToProcess.entrySet())`

make/jdk/src/classes/build/tools/generatezip/GenerateZip.java line 262:

> 260: zos.write(buf, 0, len);
> 261: }
> 262: is.close();

try-with-resource candidate + in.transferTo(zos)

make/jdk/src/classes/build/tools/generatezip/GenerateZip.java line 291:

> 289: newArgs.add(arg);
> 290: }
> 291: return newArgs.toArray(new String[newArgs.size()]);

something might be missing here. It just adds args to a list and makes it an 
array again + If the language level allows it toArray(String[]::new) could be 
used.

src/java.base/share/classes/java/util/zip/ZipOutputStream.java line 106:

> 104: value = -1;
> 105: }
> 106: return new Long(value);

value can be returned here directly which will use auto-boxing. (new Long(long) 
is deprecated).

src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java line 799:

> 797: Iterator> itr = 
> filesToProcess.entrySet().iterator();
> 798: while(itr.hasNext()) {
> 799: Map.Entry entry = itr.next();

another for-each candidate

test/jdk/java/util/zip/ZipSourceDateEpoch.java line 71:

> 69: zos.close();
> 70: os.close();
> 71: }

try-with-resource

test/jdk/java/util/zip/ZipSourceDateEpoch.java line 97:

> 95: zis.close();
> 96: fis.close();
> 97: }

try-with-resource

-

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


Re: RFR: 8275821: Optimize random number generators developed in JDK-8248862 using Math.unsignedMultiplyHigh() [v3]

2021-11-04 Thread Vamsi Parasa
> This change optimizes random number generators using 
> Math.unsignedMultiplyHigh()

Vamsi Parasa has updated the pull request incrementally with one additional 
commit since the last revision:

  fix trailing whitespace

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6206/files
  - new: https://git.openjdk.java.net/jdk/pull/6206/files/e46c2d92..8bde4731

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

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

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


Re: RFR: 8275821: Optimize random number generators developed in JDK-8248862 using Math.unsignedMultiplyHigh() [v2]

2021-11-04 Thread Vamsi Parasa
> This change optimizes random number generators using 
> Math.unsignedMultiplyHigh()

Vamsi Parasa has updated the pull request incrementally with two additional 
commits since the last revision:

 - Fix year in copyright
 - micro benchmarks to test the performance

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6206/files
  - new: https://git.openjdk.java.net/jdk/pull/6206/files/c6ec6487..e46c2d92

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

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

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


Integrated: JDK-8276650: GenGraphs does not produce deterministic output

2021-11-04 Thread Mandy Chung
On Thu, 4 Nov 2021 19:28:58 GMT, Mandy Chung  wrote:

> The dot graph should print the edges in alphatical order.   A simple fix to 
> sort the edges before printing them.

This pull request has now been integrated.

Changeset: e21b5c7b
Author:Mandy Chung 
URL:   
https://git.openjdk.java.net/jdk/commit/e21b5c7b3781430ecf568e7f5c89ef3391e06d9e
Stats: 41 lines in 2 files changed: 2 ins; 1 del; 38 mod

8276650: GenGraphs does not produce deterministic output

Reviewed-by: iris

-

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


Re: RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

2021-11-04 Thread Andrew Leonard
On Thu, 4 Nov 2021 21:51:46 GMT, Joe Darcy  wrote:

>> This PR enables reproducible Jars, Jmods and openjdk image zip files 
>> (eg.src.zip).
>> It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying 
>> ZipOutputStream's.
>> It fixes the following keys issues relating to reproducibility:
>> - Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
>>   - Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
>> - Jar and Jmod file content ordering was non-determinsitic
>>   - Fixes to Jar and Jmod main's to ensure sorted classes content ordering
>> - openjdk image zip file generation used "zip" which is non-determinsitic
>>   - New openjdk build tool "GenerateZip" which produces the final 
>> determinsitic zip files as part of the build and also detects 
>> SOURCE_DATE_EPOCH
>> 
>> Signed-off-by: Andrew Leonard 
>
> Please file a CSR for the behavioral change of recognizing SOURCE_DATE_EPOCH, 
> etc. Thanks.

@jddarcy  CSR created: https://bugs.openjdk.java.net/browse/JDK-8276667

-

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


Re: RFR: JDK-8276650: GenGraphs does not produce deterministic output

2021-11-04 Thread Mandy Chung
On Thu, 4 Nov 2021 21:46:21 GMT, Anthony Vanelverdinghe  
wrote:

>> The dot graph should print the edges in alphatical order.   A simple fix to 
>> sort the edges before printing them.
>
> src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleDotGraph.java line 336:
> 
>> 334: private final String name;
>> 335: private final Graph graph;
>> 336: private final TreeSet descriptors = new 
>> TreeSet<>();
> 
> This change is unnecessary, isn't it?

This will make it clear that this is sorted.

-

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


Re: RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

2021-11-04 Thread Andrew Leonard
On Thu, 4 Nov 2021 21:51:46 GMT, Joe Darcy  wrote:

>> This PR enables reproducible Jars, Jmods and openjdk image zip files 
>> (eg.src.zip).
>> It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying 
>> ZipOutputStream's.
>> It fixes the following keys issues relating to reproducibility:
>> - Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
>>   - Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
>> - Jar and Jmod file content ordering was non-determinsitic
>>   - Fixes to Jar and Jmod main's to ensure sorted classes content ordering
>> - openjdk image zip file generation used "zip" which is non-determinsitic
>>   - New openjdk build tool "GenerateZip" which produces the final 
>> determinsitic zip files as part of the build and also detects 
>> SOURCE_DATE_EPOCH
>> 
>> Signed-off-by: Andrew Leonard 
>
> Please file a CSR for the behavioral change of recognizing SOURCE_DATE_EPOCH, 
> etc. Thanks.

@jddarcy thanks, I did wonder that, i'll start a CSR, thanks

-

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


Re: RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

2021-11-04 Thread Joe Darcy
On Thu, 4 Nov 2021 20:56:45 GMT, Andrew Leonard  wrote:

> This PR enables reproducible Jars, Jmods and openjdk image zip files 
> (eg.src.zip).
> It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying 
> ZipOutputStream's.
> It fixes the following keys issues relating to reproducibility:
> - Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
>   - Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
> - Jar and Jmod file content ordering was non-determinsitic
>   - Fixes to Jar and Jmod main's to ensure sorted classes content ordering
> - openjdk image zip file generation used "zip" which is non-determinsitic
>   - New openjdk build tool "GenerateZip" which produces the final 
> determinsitic zip files as part of the build and also detects 
> SOURCE_DATE_EPOCH
> 
> Signed-off-by: Andrew Leonard 

Please file a CSR for the behavioral change of recognizing SOURCE_DATE_EPOCH, 
etc. Thanks.

-

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


Re: RFR: JDK-8276650: GenGraphs does not produce deterministic output

2021-11-04 Thread Anthony Vanelverdinghe
On Thu, 4 Nov 2021 19:28:58 GMT, Mandy Chung  wrote:

> The dot graph should print the edges in alphatical order.   A simple fix to 
> sort the edges before printing them.

src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleDotGraph.java line 336:

> 334: private final String name;
> 335: private final Graph graph;
> 336: private final TreeSet descriptors = new 
> TreeSet<>();

This change is unnecessary, isn't it?

-

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


Re: RFR: JDK-8276572: Fake libsyslookup.so library causes tooling issues

2021-11-04 Thread Maurizio Cimadamore
On Thu, 4 Nov 2021 20:12:52 GMT, Jiří Vaněk  wrote:

> Most likely bad idea, but isnt there an threat, that the method will be 
> dropped by optimising compiler?

It is a possibility that the function will be dropped,  but maybe worth a try.

-

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


Re: RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

2021-11-04 Thread Andrew Leonard
On Thu, 4 Nov 2021 20:56:45 GMT, Andrew Leonard  wrote:

> This PR enables reproducible Jars, Jmods and openjdk image zip files 
> (eg.src.zip).
> It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying 
> ZipOutputStream's.
> It fixes the following keys issues relating to reproducibility:
> - Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
>   - Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
> - Jar and Jmod file content ordering was non-determinsitic
>   - Fixes to Jar and Jmod main's to ensure sorted classes content ordering
> - openjdk image zip file generation used "zip" which is non-determinsitic
>   - New openjdk build tool "GenerateZip" which produces the final 
> determinsitic zip files as part of the build and also detects 
> SOURCE_DATE_EPOCH
> 
> Signed-off-by: Andrew Leonard 

@magicus fyi, please review if you have a moment, thanks

-

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


RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

2021-11-04 Thread Andrew Leonard
This PR enables reproducible Jars, Jmods and openjdk image zip files 
(eg.src.zip).
It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying 
ZipOutputStream's.
It fixes the following keys issues relating to reproducibility:
- Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
  - Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
- Jar and Jmod file content ordering was non-determinsitic
  - Fixes to Jar and Jmod main's to ensure sorted classes content ordering
- openjdk image zip file generation used "zip" which is non-determinsitic
  - New openjdk build tool "GenerateZip" which produces the final determinsitic 
zip files as part of the build and also detects SOURCE_DATE_EPOCH

Signed-off-by: Andrew Leonard 

-

Commit messages:
 - 8276400: openjdk image Jars, Zips and Jmods built from the same source are 
not reproducible

Changes: https://git.openjdk.java.net/jdk/pull/6268/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=6268=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8276400
  Stats: 818 lines in 11 files changed: 797 ins; 3 del; 18 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6268.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6268/head:pull/6268

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


Integrated: JDK-8276653: Missing row headers in j.l.Character docs

2021-11-04 Thread Ludvig Janiuk
On Thu, 4 Nov 2021 16:52:48 GMT, Ludvig Janiuk  wrote:

> The first table is missing row headers, adding them to aid screen readers.

This pull request has now been integrated.

Changeset: 8ec80c4b
Author:Ludvig Janiuk 
Committer: Naoto Sato 
URL:   
https://git.openjdk.java.net/jdk/commit/8ec80c4bc1c3169963137b5a16a1b787540a3589
Stats: 11 lines in 1 file changed: 0 ins; 0 del; 11 mod

8276653: Missing row headers in j.l.Character docs

Reviewed-by: naoto

-

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


Re: RFR: JDK-8276649: MethodHandles.Lookup docs: replace the table in the cross-module access check section with list

2021-11-04 Thread Ludvig Janiuk
On Thu, 4 Nov 2021 17:03:54 GMT, Mandy Chung  wrote:

>> Inferring from the flow of the text, the table should have been a list all 
>> along, so I've made it that way. Before and after for comparison:
>> ![image](https://user-images.githubusercontent.com/6298393/140376551-6f8ac0c9-5336-4da0-8504-01af806ecae0.png)
>> ![image](https://user-images.githubusercontent.com/6298393/140376679-54716d82-f431-46f7-b959-022374b6f893.png)
>
> That's what I suspect related to accessibility.  Thanks.

@mlchung Could I ask you to sponsor this change?

-

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


Integrated: JDK-8276652: Missing row headers in MethodHandles.Lookup docs

2021-11-04 Thread Ludvig Janiuk
On Thu, 4 Nov 2021 16:41:11 GMT, Ludvig Janiuk  wrote:

> Added row headers missing in the table captioned "Access mode summary". This 
> carries no visual change, but might be useful for screen readers.

This pull request has now been integrated.

Changeset: 7e87f946
Author:Ludvig Janiuk 
Committer: Mandy Chung 
URL:   
https://git.openjdk.java.net/jdk/commit/7e87f946cedf93f19c38fd596039a16394c03ea4
Stats: 34 lines in 1 file changed: 0 ins; 0 del; 34 mod

8276652: Missing row headers in MethodHandles.Lookup docs

Reviewed-by: mchung

-

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


Re: RFR: JDK-8276650: GenGraphs does not produce deterministic output

2021-11-04 Thread Iris Clark
On Thu, 4 Nov 2021 19:28:58 GMT, Mandy Chung  wrote:

> The dot graph should print the edges in alphatical order.   A simple fix to 
> sort the edges before printing them.

Marked as reviewed by iris (Reviewer).

-

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


Re: RFR: JDK-8276572: Fake libsyslookup.so library causes tooling issues

2021-11-04 Thread Jiří Vaněk
On Thu, 4 Nov 2021 04:19:02 GMT, Andrew John Hughes  wrote:

> The lack of anything to compile in `syslookup.c` is leading to a number of 
> issues in our tooling, on some architectures more than others (s390x seems to 
> be the most problematic).  They expect to be able to retrieve debuginfo and 
> compiler flags from generated .so files and fail with libsyslookup.so
> 
> This simple patch adds a dummy function to `syslookup.c` so it appears more 
> like a regular file to be compiled. I can't see this causing a problem with 
> the symbol lookup, but we could filter it out on the Java side if need be.

Most likely bad idea, but isnt there an threat, that the method will be dropped 
by optimising compiler?

-

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


Re: RFR: JDK-8276653: Missing row headers in j.l.Character docs

2021-11-04 Thread Naoto Sato
On Thu, 4 Nov 2021 16:52:48 GMT, Ludvig Janiuk  wrote:

> The first table is missing row headers, adding them to aid screen readers.

LGTM.

-

Marked as reviewed by naoto (Reviewer).

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


RFR: JDK-8276650: GenGraphs does not produce deterministic output

2021-11-04 Thread Mandy Chung
The dot graph should print the edges in alphatical order.   A simple fix to 
sort the edges before printing them.

-

Commit messages:
 - JDK-8276650: GenGraphs does not produce deterministic output

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

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


Integrated: JDK-8276649: MethodHandles.Lookup docs: replace the table in the cross-module access check section with list

2021-11-04 Thread Ludvig Janiuk
On Thu, 4 Nov 2021 16:18:45 GMT, Ludvig Janiuk  wrote:

> Inferring from the flow of the text, the table should have been a list all 
> along, so I've made it that way. Before and after for comparison:
> ![image](https://user-images.githubusercontent.com/6298393/140376551-6f8ac0c9-5336-4da0-8504-01af806ecae0.png)
> ![image](https://user-images.githubusercontent.com/6298393/140376679-54716d82-f431-46f7-b959-022374b6f893.png)

This pull request has now been integrated.

Changeset: 99d4b07c
Author:Ludvig Janiuk 
Committer: Mandy Chung 
URL:   
https://git.openjdk.java.net/jdk/commit/99d4b07cddec05428e4d578ba6f494f51b92e841
Stats: 34 lines in 1 file changed: 0 ins; 20 del; 14 mod

8276649: MethodHandles.Lookup docs: replace the table in the cross-module 
access check section with list

Reviewed-by: mchung

-

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


Re: RFR: 8276635: Use blessed modifier order in compiler code [v2]

2021-11-04 Thread Magnus Ihse Bursie
> I ran bin/blessed-modifier-order.sh on source owned by compiler. This scripts 
> verifies that modifiers are in the "blessed" order, and fixes it otherwise. I 
> have manually checked the changes made by the script to make sure they are 
> sound.

Magnus Ihse Bursie has updated the pull request incrementally with one 
additional commit since the last revision:

  Also update copyright year

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6253/files
  - new: https://git.openjdk.java.net/jdk/pull/6253/files/483213d3..b1e1b97f

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

  Stats: 5 lines in 5 files changed: 0 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6253.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6253/head:pull/6253

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


Re: RFR: JDK-8276652: Missing row headers in MethodHandles.Lookup docs

2021-11-04 Thread Mandy Chung
On Thu, 4 Nov 2021 16:41:11 GMT, Ludvig Janiuk  wrote:

> Added row headers missing in the table captioned "Access mode summary". This 
> carries no visual change, but might be useful for screen readers.

Looks okay.   Thanks for improving the documentation accessibility.

-

Marked as reviewed by mchung (Reviewer).

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


Re: RFR: JDK-8276649: MethodHandles.Lookup docs: replace the table in the cross-module access check section with list

2021-11-04 Thread Ludvig Janiuk
On Thu, 4 Nov 2021 16:18:45 GMT, Ludvig Janiuk  wrote:

> Inferring from the flow of the text, the table should have been a list all 
> along, so I've made it that way. Before and after for comparison:
> ![image](https://user-images.githubusercontent.com/6298393/140376551-6f8ac0c9-5336-4da0-8504-01af806ecae0.png)
> ![image](https://user-images.githubusercontent.com/6298393/140376679-54716d82-f431-46f7-b959-022374b6f893.png)

It was flagged as an accessibility issue by a scanning tool. I don't think it's 
going to make a world of difference, but if the tool says it's better, I 
suppose why not change it. Also, just feels more natural.

-

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


Re: RFR: JDK-8276649: MethodHandles.Lookup docs: replace the table in the cross-module access check section with list

2021-11-04 Thread Mandy Chung
On Thu, 4 Nov 2021 16:18:45 GMT, Ludvig Janiuk  wrote:

> Inferring from the flow of the text, the table should have been a list all 
> along, so I've made it that way. Before and after for comparison:
> ![image](https://user-images.githubusercontent.com/6298393/140376551-6f8ac0c9-5336-4da0-8504-01af806ecae0.png)
> ![image](https://user-images.githubusercontent.com/6298393/140376679-54716d82-f431-46f7-b959-022374b6f893.png)

Marked as reviewed by mchung (Reviewer).

That's what I suspect related to accessibility.  Thanks.

BTW, I updated the summary of JBS issue.  You will need to update this PR title 
to match it before integration.

-

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


Integrated: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Magnus Ihse Bursie
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

This pull request has now been integrated.

Changeset: 1533b819
Author:Magnus Ihse Bursie 
URL:   
https://git.openjdk.java.net/jdk/commit/1533b8191bed9d65ab4af03945584d8b2276d828
Stats: 44 lines in 28 files changed: 0 ins; 0 del; 44 mod

8276629: Use blessed modifier order in core-libs code

Reviewed-by: dholmes, aefimov, dfuchs, mchung, iris

-

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Iris Clark
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

Marked as reviewed by iris (Reviewer).

-

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


RFR: JDK-8276653: Missing row headers in j.l.Character docs

2021-11-04 Thread Ludvig Janiuk
The first table is missing row headers, adding them to aid screen readers.

-

Commit messages:
 - Added row headers in Character docs

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

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


Re: RFR: 8274544: Langtools command's usage were garbled on Japanese Windows [v5]

2021-11-04 Thread Ichiroh Takiguchi
On Wed, 3 Nov 2021 18:41:19 GMT, Naoto Sato  wrote:

>> Ichiroh Takiguchi has updated the pull request with a new target base due to 
>> a merge or a rebase. The pull request now contains five commits:
>> 
>>  - 8274544: Langtools command's usage were garbled on Japanese Windows
>>  - 8274544: Langtools command's usage were garbled on Japanese Windows
>>  - 8274544: Langtools command's usage were garbled on Japanese Windows
>>  - 8274544: Langtools command's usage were garbled on Japanese Windows
>>  - Langtools command's usage were grabled on Japanese Windows
>
> Firstly, please do NOT rebase your fix, as it will clobber the review 
> history. Use merge instead.
> As to the fix, I am not sure consolidating the code into Log.java would be OK 
> as it would introduce module dependency.

@naotoj 
I'm sorry about my bad operation.

@jonathan-gibbons 
I appreciate if you give me some suggestions.

-

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


Re: RFR: JDK-8276649: MethodHandles.Lookup docs: table could be list

2021-11-04 Thread Mandy Chung
On Thu, 4 Nov 2021 16:18:45 GMT, Ludvig Janiuk  wrote:

> Inferring from the flow of the text, the table should have been a list all 
> along, so I've made it that way. Before and after for comparison:
> ![image](https://user-images.githubusercontent.com/6298393/140376551-6f8ac0c9-5336-4da0-8504-01af806ecae0.png)
> ![image](https://user-images.githubusercontent.com/6298393/140376679-54716d82-f431-46f7-b959-022374b6f893.png)

Replacing this single-column table with a list is okay. 

Is there a reason why you want to make it a list?

-

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


RFR: JDK-8276652: Missing row headers in MethodHandles.Lookup docs

2021-11-04 Thread Ludvig Janiuk
Added row headers missing in the table captioned "Access mode summary". This 
carries no visual change, but might be useful for screen readers.

-

Commit messages:
 - Added table headers

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

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


Re: RFR: JDK-8275650 Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v5]

2021-11-04 Thread Igor Ignatyev
On Fri, 29 Oct 2021 10:38:41 GMT, Ivan Šipka  wrote:

>> cc @ctornqvi
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   removed file added by accident

I guess the proper course of actions would be not to mention any confidential 
comments/information (including their existence) in open communication at all, 
and instead provided open community with the enough publicly available 
information so they can understand the bug, patch, testing, …, in this 
particular case it would mean describing the testing w/o providing any details 
about oracle resources

-

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


Re: RFR: JDK-8275650 Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v5]

2021-11-04 Thread Ivan Šipka
On Thu, 4 Nov 2021 02:14:09 GMT, Igor Ignatyev  wrote:

>> Ivan Šipka has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   removed file added by accident
>
> Thanks for the clarification, David. I guess my recollection of jtreg code 
> isn’t as good as I thought, and `-` isn’t mandatory, though this means there 
> is a (theoretically possible)  ambiguity, e.g. `{os=windows; version=11}` vs 
> `{os=windows1; version=1}`

> @iignatev the comment is confidential as it refers to internal testing 
> infrastructure. @frkator be mindful of what parts of the JBS issue are public 
> and which are not.

@dholmes-ora you mean I should have stated that the links are in confidential 
part of the ticket?

-

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


RFR: JDK-8276649: MethodHandles.Lookup docs: table could be list

2021-11-04 Thread Ludvig Janiuk
Inferring from the flow of the text, the table should have been a list all 
along, so I've made it that way. Before and after for comparison:
![image](https://user-images.githubusercontent.com/6298393/140376551-6f8ac0c9-5336-4da0-8504-01af806ecae0.png)
![image](https://user-images.githubusercontent.com/6298393/140376679-54716d82-f431-46f7-b959-022374b6f893.png)

-

Commit messages:
 - Oops, trailing whitespace
 - Single column table -> list

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

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


RFR: 8276186: Require getAvailableLocales() methods to include Locale.ROOT

2021-11-04 Thread Naoto Sato
This fix is to require to include `Locale.ROOT` in the returned arrays/set from 
`getAvailableLocales()` methods in various locale-sensitive classes. The 
implementation has been including `Locale.ROOT` since its inception, it is 
simply a doc clarification (+ a test case verifying it). Corresponding CSR has 
also been drafted: https://bugs.openjdk.java.net/browse/JDK-8276249

-

Commit messages:
 - Minor fixup
 - Reflected CSR modifications
 - Added a test case
 - 8276186: Include Locale.ROOT in getAvailableLocales() methods

Changes: https://git.openjdk.java.net/jdk/pull/6258/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=6258=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8276186
  Stats: 108 lines in 10 files changed: 86 ins; 0 del; 22 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6258.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6258/head:pull/6258

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Mandy Chung
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

Marked as reviewed by mchung (Reviewer).

-

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


Re: RFR: 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit

2021-11-04 Thread Aleksey Shipilev
On Thu, 4 Nov 2021 13:10:37 GMT, Christian Stein  wrote:

> This PR implements the fix as suggested by Adam Farley, which reads:
> 
>> Note: Looks to be as simple as adding `jaccessinspector-32` and 
>> `jaccesswalker-32` to `TOOLS_NOT_TO_TEST` at the top of 
>> `HelpFlagsTest.java`, as the non-32bit versions are already there.

Looks fine to me.

-

Marked as reviewed by shade (Reviewer).

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


Re: RFR: 8271515: Integration of JEP 417: Vector API (Third Incubator) [v8]

2021-11-04 Thread Paul Sandoz
> This PR improves the performance of vector operations that accept masks on 
> architectures that support masking in hardware, specifically Intel AVX512 and 
> ARM SVE.
> 
> On architectures that do not support masking in hardware the same technique 
> as before is applied to most operations, specifically composition using blend.
> 
> Masked loads/stores are a special form of masked operation that require 
> additional care to ensure out-of-bounds access throw exceptions. The range 
> checking has not been fully optimized and will require further work.
> 
> No API enhancements were required and only a few additional tests were needed.

Paul Sandoz has updated the pull request incrementally with two additional 
commits since the last revision:

 - Merge pull request #2 from nsjian/vector-conversion-fix
   
   AArch64: Incorrect SVE double to int and float to long vector conversion
 - Incorrect double to int and float to long vector conversion
   
   Like JDK-8276151, SVE vector double to int and float to long
   conversions have similar issue. According to Java language
   specification [1], we should convert double/float to
   integer/long directly, instead of converting to long/int and then
   narrowing/extending to target types. Test cases will be updated in
   JDK-8276151.
   
   [1] https://docs.oracle.com/javase/specs/jls/se17/html/jls-5.html#jls-5.1.3

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5873/files
  - new: https://git.openjdk.java.net/jdk/pull/5873/files/c9a77225..571e6f39

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=5873=07
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=5873=06-07

  Stats: 40 lines in 2 files changed: 22 ins; 4 del; 14 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5873.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5873/head:pull/5873

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


Integrated: 8276338: Minor improve of wording for String.to(Lower|Upper)Case

2021-11-04 Thread Pavel Rappo
On Wed, 3 Nov 2021 11:58:42 GMT, Pavel Rappo  wrote:

> This PR fixes two sentences which conflate a string with its length, and also 
> makes the "equivalency wording" consistent.
> 
> There are many ways to fix "the resulting String may be a different length 
> than the original String". The proposed way might be one of the most 
> lightweight ways to do that.

This pull request has now been integrated.

Changeset: bf4ddf9c
Author:Pavel Rappo 
URL:   
https://git.openjdk.java.net/jdk/commit/bf4ddf9cb7408db321e7fd73600a5a9a85ca49eb
Stats: 8 lines in 1 file changed: 0 ins; 1 del; 7 mod

8276338: Minor improve of wording for String.to(Lower|Upper)Case

Reviewed-by: rriggs, naoto

-

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Daniel Fuchs
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

Marked as reviewed by dfuchs (Reviewer).

-

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


Re: RFR: 8275509: ModuleDescriptor.hashCode isn't reproducible across builds [v12]

2021-11-04 Thread Magnus Ihse Bursie
On Thu, 4 Nov 2021 05:16:42 GMT, Jaikiran Pai  wrote:

>> Can I please get a review for this change which fixes the issue reported in 
>> https://bugs.openjdk.java.net/browse/JDK-8275509?
>> 
>> The `ModuleDescriptor.hashCode()` method uses the hash code of its various 
>> components to compute the final hash code. While doing so it ends up calling 
>> hashCode() on (collection of) various `enum` types. Since the hashCode() of 
>> enum types is generated from a call to `java.lang.Object.hashCode()`, their 
>> value isn't guaranteed to stay the same across multiple JVM runs.
>> 
>> The commit here proposes to use the ordinal of the enum as the hash code. As 
>> Alan notes in the mailing list discussion, any changes to the ordinal of the 
>> enum (either due to addition of new value, removal of a value or just 
>> reordering existing values, all of which I think will be rare in these 
>> specific enum types) isn't expected to produce the same hash code across 
>> those changed runtimes and that should be okay. 
>> 
>> The rest of the ModuleDescriptor.hashCode() has been reviewed too and apart 
>> from calls to the enum types hashCode(), rest of the calls in that 
>> implementation, either directly or indirectly end up as calls on 
>> `java.lang.String.hashCode()` and as such aren't expected to cause 
>> non-deterministic values.
>> 
>> A new jtreg test has been added to reproduce this issue and verify the fix.
>
> Jaikiran Pai has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   use Enum#name() for hashCode() generation instead of Enum#ordinal()

Marked as reviewed by ihse (Reviewer).

-

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


Re: RFR: 8275509: ModuleDescriptor.hashCode isn't reproducible across builds [v12]

2021-11-04 Thread Alan Bateman
On Thu, 4 Nov 2021 05:16:42 GMT, Jaikiran Pai  wrote:

>> Can I please get a review for this change which fixes the issue reported in 
>> https://bugs.openjdk.java.net/browse/JDK-8275509?
>> 
>> The `ModuleDescriptor.hashCode()` method uses the hash code of its various 
>> components to compute the final hash code. While doing so it ends up calling 
>> hashCode() on (collection of) various `enum` types. Since the hashCode() of 
>> enum types is generated from a call to `java.lang.Object.hashCode()`, their 
>> value isn't guaranteed to stay the same across multiple JVM runs.
>> 
>> The commit here proposes to use the ordinal of the enum as the hash code. As 
>> Alan notes in the mailing list discussion, any changes to the ordinal of the 
>> enum (either due to addition of new value, removal of a value or just 
>> reordering existing values, all of which I think will be rare in these 
>> specific enum types) isn't expected to produce the same hash code across 
>> those changed runtimes and that should be okay. 
>> 
>> The rest of the ModuleDescriptor.hashCode() has been reviewed too and apart 
>> from calls to the enum types hashCode(), rest of the calls in that 
>> implementation, either directly or indirectly end up as calls on 
>> `java.lang.String.hashCode()` and as such aren't expected to cause 
>> non-deterministic values.
>> 
>> A new jtreg test has been added to reproduce this issue and verify the fix.
>
> Jaikiran Pai has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   use Enum#name() for hashCode() generation instead of Enum#ordinal()

One final thought on this is whether we should remove the 
tools/jlink/JLinkReproducibleXXX tests from the exclude list.

-

Marked as reviewed by alanb (Reviewer).

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


Re: RFR: 8275509: ModuleDescriptor.hashCode isn't reproducible across builds

2021-11-04 Thread Alan Bateman
On Thu, 4 Nov 2021 05:21:25 GMT, Jaikiran Pai  wrote:

> That's a good point and thank you for explaining that part. So to address 
> that, how about not leaving them out, but instead of using `Enum#ordinal()` 
> for the hashCode generation, we use `Enum#name()` which would translate to a 
> `String#hashCode()`. 

Moving to the hashCode of the names of the values is good.

-

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


Re: RFR: 8276338: Minor improve of wording for String.to(Lower|Upper)Case [v2]

2021-11-04 Thread Roger Riggs
On Thu, 4 Nov 2021 13:54:37 GMT, Pavel Rappo  wrote:

>> This PR fixes two sentences which conflate a string with its length, and 
>> also makes the "equivalency wording" consistent.
>> 
>> There are many ways to fix "the resulting String may be a different length 
>> than the original String". The proposed way might be one of the most 
>> lightweight ways to do that.
>
> Pavel Rappo has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix inconsistent formatting
>   
>- Removes stray whitespace character *inside* a sentence.
>- Makes sentences that introduce tables more similar.

Marked as reviewed by rriggs (Reviewer).

-

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


Re: RFR: 8276338: Minor improve of wording for String.to(Lower|Upper)Case [v2]

2021-11-04 Thread Pavel Rappo
> This PR fixes two sentences which conflate a string with its length, and also 
> makes the "equivalency wording" consistent.
> 
> There are many ways to fix "the resulting String may be a different length 
> than the original String". The proposed way might be one of the most 
> lightweight ways to do that.

Pavel Rappo has updated the pull request incrementally with one additional 
commit since the last revision:

  Fix inconsistent formatting
  
   - Removes stray whitespace character *inside* a sentence.
   - Makes sentences that introduce tables more similar.

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6232/files
  - new: https://git.openjdk.java.net/jdk/pull/6232/files/897ac5bb..625ae1aa

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

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

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


RFR: 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit

2021-11-04 Thread Christian Stein
This PR implements the fix as suggested by Adam Farley, which reads:

> Note: Looks to be as simple as adding `jaccessinspector-32` and 
> `jaccesswalker-32` to `TOOLS_NOT_TO_TEST` at the top of `HelpFlagsTest.java`, 
> as the non-32bit versions are already there.

-

Commit messages:
 - Ignore `jaccessinspector-32` and `jaccesswalker-32`

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

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


Re: RFR: 8276635: Use blessed modifier order in compiler code

2021-11-04 Thread Joe Darcy
On Thu, 4 Nov 2021 11:48:04 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by compiler. This scripts 
> verifies that modifiers are in the "blessed" order, and fixes it otherwise. I 
> have manually checked the changes made by the script to make sure they are 
> sound.

Looks fine.

-

Marked as reviewed by darcy (Reviewer).

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Magnus Ihse Bursie
On Thu, 4 Nov 2021 12:30:40 GMT, Aleksei Efimov  wrote:

>> I can see that this PR changes java.naming. Another bug to change 
>> java.naming, JDK-8276552, was filed yesterday. Please check with its 
>> reporter and coordinate this effort if necessary.
>
>> I can see that this PR changes java.naming. Another bug to change 
>> java.naming, JDK-8276552, was filed yesterday. Please check with its 
>> reporter and coordinate this effort if necessary.
> 
> @magicus I'm ok with having `java.naming` changes integrated as part of this 
> PR.  I'll close `JDK-8276552` as duplicate. 
> The changes looks fine to me.

@AlekseiEfimov Thanks! I tried to search for open PRs with blessed ordering, 
but I did not search open bugs...

-

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


Re: RFR: JDK-8276572: Fake libsyslookup.so library causes tooling issues

2021-11-04 Thread Maurizio Cimadamore
On Thu, 4 Nov 2021 04:19:02 GMT, Andrew John Hughes  wrote:

> The lack of anything to compile in `syslookup.c` is leading to a number of 
> issues in our tooling, on some architectures more than others (s390x seems to 
> be the most problematic).  They expect to be able to retrieve debuginfo and 
> compiler flags from generated .so files and fail with libsyslookup.so
> 
> This simple patch adds a dummy function to `syslookup.c` so it appears more 
> like a regular file to be compiled. I can't see this causing a problem with 
> the symbol lookup, but we could filter it out on the Java side if need be.

Looks ok. As long as we don't introduce more dependencies.

One question: would introducing a static function (so, not visible in the 
resulting DLL) be good enough?

-

Marked as reviewed by mcimadamore (Reviewer).

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Aleksei Efimov
On Thu, 4 Nov 2021 11:31:50 GMT, Pavel Rappo  wrote:

> I can see that this PR changes java.naming. Another bug to change 
> java.naming, JDK-8276552, was filed yesterday. Please check with its reporter 
> and coordinate this effort if necessary.

@magicus I'm ok with having `java.naming` changes integrated as part of this 
PR.  I'll close `JDK-8276552` as duplicate. 
The changes looks fine to me.

-

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Aleksei Efimov
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

Marked as reviewed by aefimov (Committer).

-

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread David Holmes
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

Looks fine to me.

Thanks,
David

-

Marked as reviewed by dholmes (Reviewer).

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


RFR: 8276635: Use blessed modifier order in compiler code

2021-11-04 Thread Magnus Ihse Bursie
I ran bin/blessed-modifier-order.sh on source owned by compiler. This scripts 
verifies that modifiers are in the "blessed" order, and fixes it otherwise. I 
have manually checked the changes made by the script to make sure they are 
sound.

-

Commit messages:
 - 8276635: Use blessed modifier order in compiler code

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

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


Re: RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Pavel Rappo
On Thu, 4 Nov 2021 11:09:42 GMT, Magnus Ihse Bursie  wrote:

> I ran bin/blessed-modifier-order.sh on source owned by core-libs. This 
> scripts verifies that modifiers are in the "blessed" order, and fixes it 
> otherwise. I have manually checked the changes made by the script to make 
> sure they are sound.

I can see that this PR changes java.naming. Another bug to change java.naming, 
JDK-8276552, was filed yesterday. Please check with its reporter and coordinate 
this effort if necessary.

-

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


RFR: 8276629: Use blessed modifier order in core-libs code

2021-11-04 Thread Magnus Ihse Bursie
I ran bin/blessed-modifier-order.sh on source owned by core-libs. This scripts 
verifies that modifiers are in the "blessed" order, and fixes it otherwise. I 
have manually checked the changes made by the script to make sure they are 
sound.

-

Commit messages:
 - 8276629: Use blessed modifier order in core-libs code

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

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


Re: RFR: JDK-8276572: Fake libsyslookup.so library causes tooling issues

2021-11-04 Thread Aleksey Shipilev
On Thu, 4 Nov 2021 04:19:02 GMT, Andrew John Hughes  wrote:

> The lack of anything to compile in `syslookup.c` is leading to a number of 
> issues in our tooling, on some architectures more than others (s390x seems to 
> be the most problematic).  They expect to be able to retrieve debuginfo and 
> compiler flags from generated .so files and fail with libsyslookup.so
> 
> This simple patch adds a dummy function to `syslookup.c` so it appears more 
> like a regular file to be compiled. I can't see this causing a problem with 
> the symbol lookup, but we could filter it out on the Java side if need be.

This makes sense to me, but @mcimadamore should ack this.

-

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


Integrated: 8276217: Harmonize StrictMath intrinsics handling

2021-11-04 Thread Aleksey Shipilev
On Mon, 1 Nov 2021 11:23:16 GMT, Aleksey Shipilev  wrote:

> This blocks JDK-8276215: `StrictMath` intrinsics are handled peculiarly by 
> giving failing intrinsics a second chance to match against the similar `Math` 
> intrinsics. This has interesting consequence for matchers: we can match the 
> native `StrictMath.sqrt` to non-native intrinsic for `Math.sqrt`. Interpreter 
> would then have to disambiguate the two. It could be made simpler and more 
> consistent.
> 
> For `min`/`max` methods, `StrictMath` already delegates to `Math` methods, so 
> we can just drop the intrinsics for them. `sqrt` is harder to delegate, 
> because it is `native` and a part of public API, so we can instead do the 
> proper special intrinsic for it.
> 
> There seem to be no performance regressions with this patch at least on Linux 
> x86_64:
> 
> 
> $ CONF=linux-x86_64-server-release make test TEST="micro:StrictMathBench" 
> 
> Benchmark   Mode  Cnt   Score Error   Units
> 
> ### Before
> 
> StrictMathBench.minDouble  thrpt4  230921.558 ± 234.238  ops/ms
> StrictMathBench.minFloat   thrpt4  230932.303 ± 126.721  ops/ms
> StrictMathBench.minInt thrpt4  230917.256 ±  73.008  ops/ms
> StrictMathBench.minLongthrpt4  194460.828 ± 178.079  ops/ms
> 
> 
> StrictMathBench.maxDouble  thrpt4  230983.180 ± 161.211  ops/ms
> StrictMathBench.maxFloat   thrpt4  230969.290 ± 277.500  ops/ms
> StrictMathBench.maxInt thrpt4  231033.581 ± 200.015  ops/ms
> StrictMathBench.maxLongthrpt4  194590.744 ± 114.295  ops/ms
> 
> 
> StrictMathBench.sqrtDouble  thrpt4  230722.037 ± .080  ops/ms
> 
> ### After
> 
> StrictMathBench.minDouble  thrpt4  230976.625 ±  67.338  ops/ms
> StrictMathBench.minFloat   thrpt4  230896.021 ± 270.434  ops/ms
> StrictMathBench.minInt thrpt4  230859.741 ± 403.147  ops/ms
> StrictMathBench.minLongthrpt4  194456.673 ± 111.557  ops/ms
> 
> StrictMathBench.maxDouble  thrpt4  230890.776 ±  89.924  ops/ms
> StrictMathBench.maxFloat   thrpt4  230918.334 ±  63.160  ops/ms
> StrictMathBench.maxInt thrpt4  231059.128 ±  51.224  ops/ms
> StrictMathBench.maxLongthrpt4  194488.210 ± 495.224  ops/ms
> 
> StrictMathBench.sqrtDouble  thrpt4  231023.703 ± 247.330  ops/ms
> 
> 
> Additional testing:
>  - [x] `StrictMath` benchmarks
>  - [x] Linux x86_64 fastdebug `java/lang/StrictMath`, `java/lang/Math`
>  - [x] Linux x86_64 fastdebug `tier1`

This pull request has now been integrated.

Changeset: 9eadcbb4
Author:Aleksey Shipilev 
URL:   
https://git.openjdk.java.net/jdk/commit/9eadcbb47e902f42d933ba68e24f2bfb0ee20915
Stats: 125 lines in 15 files changed: 80 ins; 27 del; 18 mod

8276217: Harmonize StrictMath intrinsics handling

Reviewed-by: aph, kvn

-

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


Integrated: 8276096: Simplify Unsafe.{load|store}Fence fallbacks by delegating to fullFence

2021-11-04 Thread Aleksey Shipilev
On Thu, 28 Oct 2021 08:47:31 GMT, Aleksey Shipilev  wrote:

> `Unsafe.{load|store}Fence` falls back to `unsafe.cpp` for 
> `OrderAccess::{acquire|release}Fence()`. It seems too heavy-handed (useless?) 
> to call to runtime for a single memory barrier. We can simplify the native 
> `Unsafe` interface by falling back to `fullFence` when `{load|store}Fence` 
> intrinsics are not available. This would be similar to what 
> `Unsafe.{loadLoad|storeStore}Fences` do. 
> 
> This is the behavior of these intrinsics now, on x86_64, using benchmarks 
> from JDK-8276054:
> 
> 
> Benchmark  Mode  Cnt  Score   Error  Units
> 
> # Default
> Single.acquire avgt3   0.407 ± 0.060  ns/op
> Single.fullavgt3   4.693 ± 0.005  ns/op
> Single.loadLoadavgt3   0.415 ± 0.095  ns/op
> Single.plain   avgt3   0.406 ± 0.002  ns/op
> Single.release avgt3   0.408 ± 0.047  ns/op
> Single.storeStore  avgt3   0.408 ± 0.043  ns/op
> 
> # -XX:DisableIntrinsic=_storeFence
> Single.acquire avgt3   0.408 ± 0.016  ns/op
> Single.fullavgt3   4.694 ± 0.002  ns/op
> Single.loadLoadavgt3   0.406 ± 0.002  ns/op
> Single.plain   avgt3   0.406 ± 0.001  ns/op
> Single.release avgt3   4.694 ± 0.003  ns/op <--- upgraded to full
> Single.storeStore  avgt3   4.690 ± 0.005  ns/op <--- upgraded to full
> 
> # -XX:DisableIntrinsic=_loadFence
> Single.acquire avgt3   4.691 ± 0.001  ns/op <--- upgraded to full
> Single.fullavgt3   4.693 ± 0.009  ns/op
> Single.loadLoadavgt3   4.693 ± 0.013  ns/op <--- upgraded to full
> Single.plain   avgt3   0.408 ± 0.072  ns/op
> Single.release avgt3   0.415 ± 0.016  ns/op
> Single.storeStore  avgt3   0.416 ± 0.041  ns/op
> 
> # -XX:DisableIntrinsic=_fullFence
> Single.acquire avgt3   0.406 ± 0.014  ns/op
> Single.fullavgt3  15.836 ± 0.151  ns/op <--- calls runtime
> Single.loadLoadavgt3   0.406 ± 0.001  ns/op
> Single.plain   avgt3   0.426 ± 0.361  ns/op
> Single.release avgt3   0.407 ± 0.021  ns/op
> Single.storeStore  avgt3   0.410 ± 0.061  ns/op
> 
> # -XX:DisableIntrinsic=_fullFence,_loadFence
> Single.acquire avgt3  15.822 ± 0.282  ns/op <--- upgraded, calls 
> runtime
> Single.fullavgt3  15.851 ± 0.127  ns/op <--- calls runtime
> Single.loadLoadavgt3  15.829 ± 0.045  ns/op <--- upgraded, calls 
> runtime
> Single.plain   avgt3   0.406 ± 0.001  ns/op
> Single.release avgt3   0.414 ± 0.156  ns/op
> Single.storeStore  avgt3   0.422 ± 0.452  ns/op
> 
> # -XX:DisableIntrinsic=_fullFence,_storeFence
> Single.acquire avgt3   0.407 ± 0.016  ns/op
> Single.fullavgt3  15.347 ± 6.783  ns/op <--- calls runtime
> Single.loadLoadavgt3   0.406 ± 0.001  ns/op
> Single.plain   avgt3   0.406 ± 0.002  ns/op 
> Single.release avgt3  15.828 ± 0.019  ns/op <--- upgraded, calls 
> runtime
> Single.storeStore  avgt3  15.834 ± 0.045  ns/op <--- upgraded, calls 
> runtime
> 
> # -XX:DisableIntrinsic=_fullFence,_loadFence,_storeFence
> Single.acquire avgt3  15.838 ± 0.030  ns/op <--- upgraded, calls 
> runtime
> Single.fullavgt3  15.854 ± 0.277  ns/op <--- calls runtime
> Single.loadLoadavgt3  15.826 ± 0.160  ns/op <--- upgraded, calls 
> runtime
> Single.plain   avgt3   0.406 ± 0.003  ns/op
> Single.release avgt3  15.838 ± 0.019  ns/op <--- upgraded, calls 
> runtime
> Single.storeStore  avgt3  15.844 ± 0.104  ns/op <--- upgraded, calls 
> runtime
> 
> 
> Additional testing:
>  - [x] Linux x86_64 fastdebug `tier1`

This pull request has now been integrated.

Changeset: fb0be81f
Author:Aleksey Shipilev 
URL:   
https://git.openjdk.java.net/jdk/commit/fb0be81f0148d9aea73321a0c2bd83b2e477d952
Stats: 21 lines in 3 files changed: 6 ins; 11 del; 4 mod

8276096: Simplify Unsafe.{load|store}Fence fallbacks by delegating to fullFence

Reviewed-by: psandoz, aph, dholmes

-

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


Re: RFR: 8276096: Simplify Unsafe.{load|store}Fence fallbacks by delegating to fullFence [v2]

2021-11-04 Thread Aleksey Shipilev
On Mon, 1 Nov 2021 07:36:53 GMT, Aleksey Shipilev  wrote:

>> `Unsafe.{load|store}Fence` falls back to `unsafe.cpp` for 
>> `OrderAccess::{acquire|release}Fence()`. It seems too heavy-handed 
>> (useless?) to call to runtime for a single memory barrier. We can simplify 
>> the native `Unsafe` interface by falling back to `fullFence` when 
>> `{load|store}Fence` intrinsics are not available. This would be similar to 
>> what `Unsafe.{loadLoad|storeStore}Fences` do. 
>> 
>> This is the behavior of these intrinsics now, on x86_64, using benchmarks 
>> from JDK-8276054:
>> 
>> 
>> Benchmark  Mode  Cnt  Score   Error  Units
>> 
>> # Default
>> Single.acquire avgt3   0.407 ± 0.060  ns/op
>> Single.fullavgt3   4.693 ± 0.005  ns/op
>> Single.loadLoadavgt3   0.415 ± 0.095  ns/op
>> Single.plain   avgt3   0.406 ± 0.002  ns/op
>> Single.release avgt3   0.408 ± 0.047  ns/op
>> Single.storeStore  avgt3   0.408 ± 0.043  ns/op
>> 
>> # -XX:DisableIntrinsic=_storeFence
>> Single.acquire avgt3   0.408 ± 0.016  ns/op
>> Single.fullavgt3   4.694 ± 0.002  ns/op
>> Single.loadLoadavgt3   0.406 ± 0.002  ns/op
>> Single.plain   avgt3   0.406 ± 0.001  ns/op
>> Single.release avgt3   4.694 ± 0.003  ns/op <--- upgraded to full
>> Single.storeStore  avgt3   4.690 ± 0.005  ns/op <--- upgraded to full
>> 
>> # -XX:DisableIntrinsic=_loadFence
>> Single.acquire avgt3   4.691 ± 0.001  ns/op <--- upgraded to full
>> Single.fullavgt3   4.693 ± 0.009  ns/op
>> Single.loadLoadavgt3   4.693 ± 0.013  ns/op <--- upgraded to full
>> Single.plain   avgt3   0.408 ± 0.072  ns/op
>> Single.release avgt3   0.415 ± 0.016  ns/op
>> Single.storeStore  avgt3   0.416 ± 0.041  ns/op
>> 
>> # -XX:DisableIntrinsic=_fullFence
>> Single.acquire avgt3   0.406 ± 0.014  ns/op
>> Single.fullavgt3  15.836 ± 0.151  ns/op <--- calls runtime
>> Single.loadLoadavgt3   0.406 ± 0.001  ns/op
>> Single.plain   avgt3   0.426 ± 0.361  ns/op
>> Single.release avgt3   0.407 ± 0.021  ns/op
>> Single.storeStore  avgt3   0.410 ± 0.061  ns/op
>> 
>> # -XX:DisableIntrinsic=_fullFence,_loadFence
>> Single.acquire avgt3  15.822 ± 0.282  ns/op <--- upgraded, calls 
>> runtime
>> Single.fullavgt3  15.851 ± 0.127  ns/op <--- calls runtime
>> Single.loadLoadavgt3  15.829 ± 0.045  ns/op <--- upgraded, calls 
>> runtime
>> Single.plain   avgt3   0.406 ± 0.001  ns/op
>> Single.release avgt3   0.414 ± 0.156  ns/op
>> Single.storeStore  avgt3   0.422 ± 0.452  ns/op
>> 
>> # -XX:DisableIntrinsic=_fullFence,_storeFence
>> Single.acquire avgt3   0.407 ± 0.016  ns/op
>> Single.fullavgt3  15.347 ± 6.783  ns/op <--- calls runtime
>> Single.loadLoadavgt3   0.406 ± 0.001  ns/op
>> Single.plain   avgt3   0.406 ± 0.002  ns/op 
>> Single.release avgt3  15.828 ± 0.019  ns/op <--- upgraded, calls 
>> runtime
>> Single.storeStore  avgt3  15.834 ± 0.045  ns/op <--- upgraded, calls 
>> runtime
>> 
>> # -XX:DisableIntrinsic=_fullFence,_loadFence,_storeFence
>> Single.acquire avgt3  15.838 ± 0.030  ns/op <--- upgraded, calls 
>> runtime
>> Single.fullavgt3  15.854 ± 0.277  ns/op <--- calls runtime
>> Single.loadLoadavgt3  15.826 ± 0.160  ns/op <--- upgraded, calls 
>> runtime
>> Single.plain   avgt3   0.406 ± 0.003  ns/op
>> Single.release avgt3  15.838 ± 0.019  ns/op <--- upgraded, calls 
>> runtime
>> Single.storeStore  avgt3  15.844 ± 0.104  ns/op <--- upgraded, calls 
>> runtime
>> 
>> 
>> Additional testing:
>>  - [x] Linux x86_64 fastdebug `tier1`
>
> Aleksey Shipilev has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Restore RN for fullFence

Thanks!

-

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


Re: Incorrect assumption on the class name in compile(InputSource input, String name) at XSLTC.java

2021-11-04 Thread Cheng Jin





Hi There,

Hotspot developers already identified a bug in verification (failure to
capture an invalid package name "die/verwandlung/" existing in the constant
pool of bytecode) at https://bugs.openjdk.java.net/browse/JDK-8276241 as I
raised via
https://mail.openjdk.java.net/pipermail/hotspot-dev/2021-October/055618.html
, which was associated with the issue here in XSLT transformation given the
invalid package name "die/verwandlung/" was actually triggered by OpenJDK
due to the incorrect result from setClassName(Util.baseName(systemId))
(systemId = "xxx:" in which case Util.baseName(systemId) returns null and
setClassName(null) ended up with "die/verwandlung/" in generating the
bytecode). So I expect someone in OpenJDK to take a look into this issue to
see what really happened to the code there in such case. Thanks.


Thanks and Best Regards
Cheng Jin