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

2021-10-25 Thread Magnus Ihse Bursie
On Fri, 22 Oct 2021 10:44:31 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:
> 
>   drop another final to make it consistent with rest of the code

test/jdk/java/lang/module/ModuleDescriptorHashCodeTest.java line 159:

> 157: }
> 158: }
> 159: }

It seems you're missing a newline at the EOF.

-

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


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

2021-10-25 Thread Jaikiran Pai
> 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:

  add newline at end of test class

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6078/files
  - new: https://git.openjdk.java.net/jdk/pull/6078/files/89669ea4..006255d9

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6078&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6078&range=02-03

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

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


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

2021-10-25 Thread Jaikiran Pai
On Mon, 25 Oct 2021 08:04:43 GMT, Magnus Ihse Bursie  wrote:

>> Jaikiran Pai has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   drop another final to make it consistent with rest of the code
>
> test/jdk/java/lang/module/ModuleDescriptorHashCodeTest.java line 159:
> 
>> 157: }
>> 158: }
>> 159: }
> 
> It seems you're missing a newline at the EOF.

Indeed. Updated the PR to fix it.

-

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


Re: RFR: 8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout

2021-10-25 Thread Jaikiran Pai
On Tue, 19 Oct 2021 13:00:01 GMT, Jaikiran Pai  wrote:

> The `GlobalFilterTest` has to 2 `@test` tags. One of them has failed with a 
> timeout as noted in https://bugs.openjdk.java.net/browse/JDK-8268595. The 
> timeout seems to have happened even after the tests had already completed 
> successfully. Like I note in the JBS comments of that issue, I suspect it 
> might have to do with the 
> "-XX:StartFlightRecording:name=DeserializationEvent,dumponexit=true" usage in 
> this test action.
> 
> The commit in this PR removes that second `@test` altogether because (correct 
> me if I'm wrong) from what I understand, this test never enables the 
> DeserializationEvent which means there is no JFR events being captured for 
> deserialization in this test, nor does the test do any JFR events related 
> testing. So, I think this second `@test` is virtually a no-op when it comes 
> to the JFR testing. There's a separate `TestDeserializationEvent` which has a 
> comprehensive testing of the DeserializationEvent.

Thank you for the review Chris.

Roger, should I go ahead with the merge?

-

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


RFR: 8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings

2021-10-25 Thread Claes Redestad
Enhance ASCII-compatible `DoubleByte` encodings to make use of the 
`StringCoding.implEncodeAsciiArray` intrinsic, which makes many such 
`CharsetEncoder`s encode ASCII text at speeds comparable to most single-byte 
encoders - and also more in line with how well these charsets behave when 
calling `String.getBytes`:

Before:

Benchmark   (size)  (type)  Mode  Cnt   Score   Error  Units
CharsetEncodeDecode.encode   16384  ISO-8859-1  avgt   30   3.021 ± 0.120  us/op
CharsetEncodeDecode.encode   16384   Shift-JIS  avgt   30  47.793 ± 1.942  us/op
CharsetEncodeDecode.encode   16384  GB2312  avgt   30  49.598 ± 2.006  us/op
CharsetEncodeDecode.encode   16384  EUC-JP  avgt   30  68.709 ± 5.019  us/op
CharsetEncodeDecode.encode   16384  EUC-KR  avgt   30  48.033 ± 1.651  us/op


Patched:

Benchmark   (size)  (type)  Mode  Cnt  Score   Error  Units
CharsetEncodeDecode.encode   16384  ISO-8859-1  avgt   30  2.856 ± 0.078  us/op
CharsetEncodeDecode.encode   16384   Shift-JIS  avgt   30  5.287 ± 0.209  us/op
CharsetEncodeDecode.encode   16384  GB2312  avgt   30  5.490 ± 0.251  us/op
CharsetEncodeDecode.encode   16384  EUC-JP  avgt   30  7.657 ± 0.368  us/op
CharsetEncodeDecode.encode   16384  EUC-KR  avgt   30  5.718 ± 0.267  us/op


The `isASCIICompatible` predicate on `DoubleByte` was added in JEP 254 for the 
purpose of implementing such ASCII fast-paths, but is only used in what is now 
`String.encodeWithEncoder` to speed up `String.getBytes(...)` operations.

Testing: tier1-3

-

Commit messages:
 - Use field directly
 - Grant accessClassInPackage.jdk.internal.access permission to jdk.charsets 
module
 - 8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings

Changes: https://git.openjdk.java.net/jdk/pull/6102/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6102&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8275863
  Stats: 35 lines in 5 files changed: 24 ins; 4 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6102.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6102/head:pull/6102

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


Re: RFR: 8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout

2021-10-25 Thread Roger Riggs
On Tue, 19 Oct 2021 13:00:01 GMT, Jaikiran Pai  wrote:

> The `GlobalFilterTest` has to 2 `@test` tags. One of them has failed with a 
> timeout as noted in https://bugs.openjdk.java.net/browse/JDK-8268595. The 
> timeout seems to have happened even after the tests had already completed 
> successfully. Like I note in the JBS comments of that issue, I suspect it 
> might have to do with the 
> "-XX:StartFlightRecording:name=DeserializationEvent,dumponexit=true" usage in 
> this test action.
> 
> The commit in this PR removes that second `@test` altogether because (correct 
> me if I'm wrong) from what I understand, this test never enables the 
> DeserializationEvent which means there is no JFR events being captured for 
> deserialization in this test, nor does the test do any JFR events related 
> testing. So, I think this second `@test` is virtually a no-op when it comes 
> to the JFR testing. There's a separate `TestDeserializationEvent` which has a 
> comprehensive testing of the DeserializationEvent.

LGTM

-

Marked as reviewed by rriggs (Reviewer).

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


Re: RFR: 8270490: Charset.forName() taking fallback default value [v4]

2021-10-25 Thread Roger Riggs
On Sat, 23 Oct 2021 22:13:35 GMT, Naoto Sato  wrote:

>> During the review of JEP 400, a proposal to provide an overloaded method to 
>> `Charset.forName()` was suggested 
>> [[1]](https://github.com/openjdk/jdk/pull/4733#discussion_r669693954). This 
>> PR is to implement the proposal. A CSR is also drafted as 
>> https://bugs.openjdk.java.net/browse/JDK-8275348
>
> Naoto Sato has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Reflecting review comments

Marked as reviewed by rriggs (Reviewer).

-

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


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

2021-10-25 Thread Ichiroh Takiguchi
> JEP-400 (UTF-8 by Default) was eabled on JDK18-b13.
> After JDK18-b13, javac and some other langtool command's usage were garbled 
> on Japanese Windows.
> These commands use PrintWriter instead of standard out/err with PrintStream.

Ichiroh Takiguchi has updated the pull request with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains four additional 
commits since the last revision:

 - 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

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5771/files
  - new: https://git.openjdk.java.net/jdk/pull/5771/files/4427d87c..e2a87848

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5771&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5771&range=02-03

  Stats: 35926 lines in 1051 files changed: 24201 ins; 7865 del; 3860 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5771.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5771/head:pull/5771

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


Re: RFR: 8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout

2021-10-25 Thread Jaikiran Pai
On Tue, 19 Oct 2021 13:00:01 GMT, Jaikiran Pai  wrote:

> The `GlobalFilterTest` has to 2 `@test` tags. One of them has failed with a 
> timeout as noted in https://bugs.openjdk.java.net/browse/JDK-8268595. The 
> timeout seems to have happened even after the tests had already completed 
> successfully. Like I note in the JBS comments of that issue, I suspect it 
> might have to do with the 
> "-XX:StartFlightRecording:name=DeserializationEvent,dumponexit=true" usage in 
> this test action.
> 
> The commit in this PR removes that second `@test` altogether because (correct 
> me if I'm wrong) from what I understand, this test never enables the 
> DeserializationEvent which means there is no JFR events being captured for 
> deserialization in this test, nor does the test do any JFR events related 
> testing. So, I think this second `@test` is virtually a no-op when it comes 
> to the JFR testing. There's a separate `TestDeserializationEvent` which has a 
> comprehensive testing of the DeserializationEvent.

Thank you Roger.

-

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


Integrated: 8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout

2021-10-25 Thread Jaikiran Pai
On Tue, 19 Oct 2021 13:00:01 GMT, Jaikiran Pai  wrote:

> The `GlobalFilterTest` has to 2 `@test` tags. One of them has failed with a 
> timeout as noted in https://bugs.openjdk.java.net/browse/JDK-8268595. The 
> timeout seems to have happened even after the tests had already completed 
> successfully. Like I note in the JBS comments of that issue, I suspect it 
> might have to do with the 
> "-XX:StartFlightRecording:name=DeserializationEvent,dumponexit=true" usage in 
> this test action.
> 
> The commit in this PR removes that second `@test` altogether because (correct 
> me if I'm wrong) from what I understand, this test never enables the 
> DeserializationEvent which means there is no JFR events being captured for 
> deserialization in this test, nor does the test do any JFR events related 
> testing. So, I think this second `@test` is virtually a no-op when it comes 
> to the JFR testing. There's a separate `TestDeserializationEvent` which has a 
> comprehensive testing of the DeserializationEvent.

This pull request has now been integrated.

Changeset: f143d2a8
Author:Jaikiran Pai 
URL:   
https://git.openjdk.java.net/jdk/commit/f143d2a88e1972cdce9eb6f61c2eb9754cb89251
Stats: 12 lines in 1 file changed: 0 ins; 12 del; 0 mod

8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in 
timeout

Reviewed-by: chegar, rriggs

-

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


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

2021-10-25 Thread Ichiroh Takiguchi
On Mon, 25 Oct 2021 14:20:52 GMT, Ichiroh Takiguchi  
wrote:

>> JEP-400 (UTF-8 by Default) was eabled on JDK18-b13.
>> After JDK18-b13, javac and some other langtool command's usage were garbled 
>> on Japanese Windows.
>> These commands use PrintWriter instead of standard out/err with PrintStream.
>
> Ichiroh Takiguchi has updated the pull request with a new target base due to 
> a merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains four additional 
> commits since the last revision:
> 
>  - 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

Terminal setting

$ locale
LANG=ja_JP.eucjp
LC_CTYPE="ja_JP.eucjp"
LC_NUMERIC="ja_JP.eucjp"
LC_TIME="ja_JP.eucjp"
LC_COLLATE="ja_JP.eucjp"
LC_MONETARY="ja_JP.eucjp"
LC_MESSAGES="ja_JP.eucjp"
LC_PAPER="ja_JP.eucjp"
LC_NAME="ja_JP.eucjp"
LC_ADDRESS="ja_JP.eucjp"
LC_TELEPHONE="ja_JP.eucjp"
LC_MEASUREMENT="ja_JP.eucjp"
LC_IDENTIFICATION="ja_JP.eucjp"
LC_ALL=

Java testcase by using Scanner.

$ cat scan.java 
import java.util.*;

public class scan {
  public static void main(String[] args) throws Exception {
System.out.println("Please input some characters:");
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.next());
  }
}
$ ~/jdk-18-b19/bin/java scan.java
Please input some characters:
あいうえお
??

When 
`src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractTerminal.java`
 is modified

$ jshell
|  JShellへようこそ -- バージョン18-internal
|  概要については、次を入力してください: /help intro

jshell> import java.nio.charset.*

jshell> System.out.println(System.getProperty("native.encoding"))
EUC-JP-LINUX

jshell> System.out.println(Charset.defaultCharset())
UTF-8

jshell> var scan = new Scanner(System.in)
scan ==> java.util.Scanner[delimiters=\p{javaWhitespace}+] ... \E][infinity 
string=\Q∞\E]

jshell> var s = scan.next()
あいうえお
s ==> "あいうえお"

jshell> System.out.println(s)
あいうえお

jshell> /exit
|  終了します
$

-

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


RFR: 8275767: JDK source code contains redundant boolean operations in jdk.charsets

2021-10-25 Thread Naoto Sato
Trivial clean-up.

-

Commit messages:
 - 8275767: JDK source code contains redundant boolean operations in 
jdk.charsets

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

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


Re: RFR: 8270490: Charset.forName() taking fallback default value [v4]

2021-10-25 Thread Joe Wang
On Sat, 23 Oct 2021 22:13:35 GMT, Naoto Sato  wrote:

>> During the review of JEP 400, a proposal to provide an overloaded method to 
>> `Charset.forName()` was suggested 
>> [[1]](https://github.com/openjdk/jdk/pull/4733#discussion_r669693954). This 
>> PR is to implement the proposal. A CSR is also drafted as 
>> https://bugs.openjdk.java.net/browse/JDK-8275348
>
> Naoto Sato has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Reflecting review comments

Marked as reviewed by joehw (Reviewer).

-

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


Re: RFR: 8275767: JDK source code contains redundant boolean operations in jdk.charsets

2021-10-25 Thread Lance Andersen
On Mon, 25 Oct 2021 16:08:29 GMT, Naoto Sato  wrote:

> Trivial clean-up.

Marked as reviewed by lancea (Reviewer).

-

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


Re: RFR: 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime [v3]

2021-10-25 Thread Brian Burkhalter
On Thu, 21 Oct 2021 22:54:34 GMT, Clive Verghese  wrote:

>> The test validated that the precision returned by 
>> `java.io.File.lastModified` and `java.nio.file.Files.getLastModifiedTime` 
>> are the same.
>
> Clive Verghese has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Move test from java/nio to java/io

Marked as reviewed by bpb (Reviewer).

-

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


Re: RFR: 8275767: JDK source code contains redundant boolean operations in jdk.charsets

2021-10-25 Thread Roger Riggs
On Mon, 25 Oct 2021 16:08:29 GMT, Naoto Sato  wrote:

> Trivial clean-up.

Given that the code has been that way for a *long time*, did you check that 
both paths work as intended and that tests exist for both paths?

-

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


Re: RFR: 8275767: JDK source code contains redundant boolean operations in jdk.charsets

2021-10-25 Thread Naoto Sato
On Mon, 25 Oct 2021 16:08:29 GMT, Naoto Sato  wrote:

> Trivial clean-up.

No, I did not check. I simply removed the `true &&` as it is logically correct. 
There's a test specifying `IBM964` in `sun.nio.cs.TestIBMBugs.java`, but not 
sure it tests both paths or not.

-

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


Re: RFR: 8275767: JDK source code contains redundant boolean operations in jdk.charsets

2021-10-25 Thread Roger Riggs
On Mon, 25 Oct 2021 16:08:29 GMT, Naoto Sato  wrote:

> Trivial clean-up.

LGTM

-

Marked as reviewed by rriggs (Reviewer).

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


Re: RFR: 8275767: JDK source code contains redundant boolean operations in jdk.charsets

2021-10-25 Thread Iris Clark
On Mon, 25 Oct 2021 16:08:29 GMT, Naoto Sato  wrote:

> Trivial clean-up.

Marked as reviewed by iris (Reviewer).

-

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


Integrated: 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime

2021-10-25 Thread Clive Verghese
On Thu, 21 Oct 2021 00:27:20 GMT, Clive Verghese  wrote:

> The test validated that the precision returned by `java.io.File.lastModified` 
> and `java.nio.file.Files.getLastModifiedTime` are the same.

This pull request has now been integrated.

Changeset: 97d3280e
Author:Clive Verghese 
Committer: Paul Hohensee 
URL:   
https://git.openjdk.java.net/jdk/commit/97d3280eb4735f5b84cd4a9a1286e35c1c48113a
Stats: 60 lines in 1 file changed: 60 ins; 0 del; 0 mod

8275536: Add test to check that File::lastModified returns same time stamp as 
Files.getLastModifiedTime

Reviewed-by: alanb, bpb

-

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


Re: RFR: 8270490: Charset.forName() taking fallback default value [v4]

2021-10-25 Thread Sergey Bylokhov
On Sat, 23 Oct 2021 22:13:35 GMT, Naoto Sato  wrote:

>> During the review of JEP 400, a proposal to provide an overloaded method to 
>> `Charset.forName()` was suggested 
>> [[1]](https://github.com/openjdk/jdk/pull/4733#discussion_r669693954). This 
>> PR is to implement the proposal. A CSR is also drafted as 
>> https://bugs.openjdk.java.net/browse/JDK-8275348
>
> Naoto Sato has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Reflecting review comments

Thank you for clarification.

-

Marked as reviewed by serb (Reviewer).

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


Re: RFR: JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior [v2]

2021-10-25 Thread Dan Smith
On Tue, 12 Oct 2021 16:21:33 GMT, Mandy Chung  wrote:

>> Classes compiled prior to the nestmate support will generate 
>> `REF_invokeSpecial` if the implementation method is a private instance 
>> method.   Since a lambda proxy class is a hidden class, a nestmate of the 
>> host class, it can invoke the private implementation method but it has to 
>> use `REF_invokeVirtual` or `REF_invokeInterface`.   In order to support the 
>> old classes running on the new runtime, LMF implementation adjusts the 
>> reference kind from `REF_invokeSpecial` to 
>> `REF_invokeVirtual/REF_invokeInterface`. 
>> 
>> This PR fixes the check properly to ensure the adjustment is only made if 
>> the implementation method is private method in the host class.
>
> Mandy Chung has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   remove filelist which was added accidentally

Source changes look good.

The test seems like way too much overhead for this small thing. Looks like a 
lot of the ASM code is just to verify that javac generates the test case you 
expect? I'd suggest invoking the LMF API directly instead, testing both private 
and non-private `invokespecial` MethodHandles, just making sure the rules can 
be used without error.

-

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


Re: RFR: 8275293: A change done with JDK-8268764 mismatches the java.rmi.server.ObjID.hashCode spec

2021-10-25 Thread Sergey Bylokhov
On Fri, 15 Oct 2021 07:17:52 GMT, Сергей Цыпанов  wrote:

> It looks like we cannot use `Long.hashCode(long)` for 
> `java.rmi.server.ObjID.hashCode()` due to specification: 
> https://docs.oracle.com/en/java/javase/17/docs/api/java.rmi/java/rmi/server/ObjID.html#hashCode().

Just a suggestion, it is always a good thing to add a jtreg test case, 
especially if it is regression.

-

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


Re: RFR: 8275293: A change done with JDK-8268764 mismatches the java.rmi.server.ObjID.hashCode spec

2021-10-25 Thread Stuart Marks
On Fri, 15 Oct 2021 07:17:52 GMT, Сергей Цыпанов  wrote:

> It looks like we cannot use `Long.hashCode(long)` for 
> `java.rmi.server.ObjID.hashCode()` due to specification: 
> https://docs.oracle.com/en/java/javase/17/docs/api/java.rmi/java/rmi/server/ObjID.html#hashCode().

Oh yes, good point in general. In this case the problem was caught by the 
failure of a JCK test, so I don't think a separate regression test is 
necessary. I've added the `noreg-jck` label to the bug to indicate this.

-

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


Re: RFR: 8275293: A change done with JDK-8268764 mismatches the java.rmi.server.ObjID.hashCode spec

2021-10-25 Thread Sergey Bylokhov
On Fri, 15 Oct 2021 07:17:52 GMT, Сергей Цыпанов  wrote:

> It looks like we cannot use `Long.hashCode(long)` for 
> `java.rmi.server.ObjID.hashCode()` due to specification: 
> https://docs.oracle.com/en/java/javase/17/docs/api/java.rmi/java/rmi/server/ObjID.html#hashCode().

I think this one was missed due to the absence of the coverage in the jtreg 
test suite, and some people have no access to the jck to run it in advance.

-

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


Re: RFR: 8193682: Infinite loop in ZipOutputStream.close() [v4]

2021-10-25 Thread Ravi Reddy
> Hi all,
> 
> Please review this fix for Infinite loop in ZipOutputStream.close().
> The main issue here is when ever there is an exception during close 
> operations on GZip we are not setting the deflator to a finished state which 
> is leading to an infinite loop when we try writing on the same GZip instance( 
> since we use while(!def.finished()) inside the write operation).
> 
> Thanks,
> Ravi

Ravi Reddy has updated the pull request incrementally with one additional 
commit since the last revision:

  8193682 : Infinite loop in ZipOutputStream.close()

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5522/files
  - new: https://git.openjdk.java.net/jdk/pull/5522/files/d18eb3c1..5f1922bf

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5522&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5522&range=02-03

  Stats: 26 lines in 2 files changed: 12 ins; 7 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5522.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5522/head:pull/5522

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