Integrated: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS

2022-03-28 Thread Ian Graves
On Fri, 18 Feb 2022 19:47:09 GMT, Ian Graves  wrote:

> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

This pull request has now been integrated.

Changeset: f01cce23
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/f01cce235b62e378e91a3bae32942e2f3dfc5c7e
Stats: 97 lines in 2 files changed: 79 ins; 6 del; 12 mod

8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS

Reviewed-by: lancea, bpb, naoto

-

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v7]

2022-03-10 Thread Ian Graves
On Thu, 10 Mar 2022 16:23:13 GMT, Ian Graves  wrote:

>> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
>> metacharacters
>
> Ian Graves has refreshed the contents of this pull request, and previous 
> commits have been removed. Incremental views are not available.

Apologies for the force push. I had a very odd rebase happen that I did not 
intend. This push rolled it all back out to it's prior state plus a minor 
change clarifying a regex in the spec.

-

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v7]

2022-03-10 Thread Ian Graves
On Thu, 10 Mar 2022 16:23:13 GMT, Ian Graves  wrote:

>> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
>> metacharacters
>
> Ian Graves has updated the pull request incrementally with 196 additional 
> commits since the last revision:
> 
>  - Merge branch 'bug-8264160' of github.com:igraves/jdk into bug-8264160
>  - Adding description of word-boundary regex
>  - Removing superfluous 'if'
>  - Updating with additional descriptors. Removing DataProvider import
>  - 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ 
> flag.
>
>Reviewed-by: rriggs, lancea
>  - 8275640: (win) java.net.NetworkInterface issues with IPv6-only environments
>
>Reviewed-by: msheppar, dfuchs
>  - 8282295: SymbolPropertyEntry::set_method_type fails with assert
>
>Reviewed-by: hseigel
>  - 8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes 
> correctly
>
>Reviewed-by: sgehwolf, dnsimon
>  - 8282769: BSD date cannot handle all ISO 8601 formats
>
>Reviewed-by: erikj
>  - 8282770: Set source date in jib profiles from buildId
>
>Reviewed-by: erikj
>  - ... and 186 more: 
> https://git.openjdk.java.net/jdk/compare/77f9a5b6...ef1e4d5b

Something very odd is going on with this PR. I am looking into it.

-

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v7]

2022-03-10 Thread Ian Graves
> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

Ian Graves has updated the pull request incrementally with 196 additional 
commits since the last revision:

 - Merge branch 'bug-8264160' of github.com:igraves/jdk into bug-8264160
 - Adding description of word-boundary regex
 - Removing superfluous 'if'
 - Updating with additional descriptors. Removing DataProvider import
 - 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ 
flag.
   
   Reviewed-by: rriggs, lancea
 - 8275640: (win) java.net.NetworkInterface issues with IPv6-only environments
   
   Reviewed-by: msheppar, dfuchs
 - 8282295: SymbolPropertyEntry::set_method_type fails with assert
   
   Reviewed-by: hseigel
 - 8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes 
correctly
   
   Reviewed-by: sgehwolf, dnsimon
 - 8282769: BSD date cannot handle all ISO 8601 formats
   
   Reviewed-by: erikj
 - 8282770: Set source date in jib profiles from buildId
   
   Reviewed-by: erikj
 - ... and 186 more: 
https://git.openjdk.java.net/jdk/compare/77f9a5b6...ef1e4d5b

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7539/files
  - new: https://git.openjdk.java.net/jdk/pull/7539/files/77f9a5b6..ef1e4d5b

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

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

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v6]

2022-03-10 Thread Ian Graves
> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Adding description of word-boundary regex

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7539/files
  - new: https://git.openjdk.java.net/jdk/pull/7539/files/57fef39c..77f9a5b6

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=7539=05
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=7539=04-05

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

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v5]

2022-03-09 Thread Ian Graves
> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Removing superfluous 'if'

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7539/files
  - new: https://git.openjdk.java.net/jdk/pull/7539/files/98fcaa9a..57fef39c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=7539=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=7539=03-04

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

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v4]

2022-03-09 Thread Ian Graves
On Wed, 9 Mar 2022 16:30:24 GMT, Brian Burkhalter  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Updating with additional descriptors. Removing DataProvider import
>
> src/java.base/share/classes/java/util/regex/Pattern.java line 161:
> 
>> 159:  * Any character (may or may not 
>> match line terminators)
>> 160:  * > id="digit">{@code \d}
>> 161:  * A digit: {@code [0-9]} if if 
>> 
> 
> Looks like there is a superfluous `if` here.

Thanks!

-

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v3]

2022-03-08 Thread Ian Graves
On Tue, 8 Mar 2022 18:54:13 GMT, Lance Andersen  wrote:

>> Ian Graves has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains six commits:
>> 
>>  - Merge branch 'master' of https://github.com/openjdk/jdk into bug-8264160
>>  - Bug id's to header and some other cleanup
>>  - Fixing bad javadoc
>>  - Merge remote-tracking branch 'upstream/master' into bug-8264160
>>  - Updating spec
>>  - Proposed change for \b metacharacter
>
> test/jdk/java/util/regex/RegExTest.java line 65:
> 
>> 63: import java.util.stream.Stream;
>> 64: 
>> 65: import org.testng.annotations.DataProvider;
> 
> I don't see a DataProvider being used anywhere, perhaps you were and then 
> decided against it?

Ah yes, thanks. I had originally written this test with a DataProvider, it 
proved to be a bit clunky and slower than it is now.

> test/jdk/java/util/regex/RegExTest.java line 4556:
> 
>> 4554: }
>> 4555: 
>> 4556: //This test is for 8264160
> 
> Even if you are not going to do a pass through existing tests to provide a 
> comment of the tests intent as part of this PR, please do so for your 
> additional tests.  Future maintainers will thank you :-)

Fixed as far back as I can remember for now!

-

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v4]

2022-03-08 Thread Ian Graves
> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Updating with additional descriptors. Removing DataProvider import

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7539/files
  - new: https://git.openjdk.java.net/jdk/pull/7539/files/75289c00..98fcaa9a

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

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

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v3]

2022-03-08 Thread Ian Graves
> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

Ian Graves has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains six commits:

 - Merge branch 'master' of https://github.com/openjdk/jdk into bug-8264160
 - Bug id's to header and some other cleanup
 - Fixing bad javadoc
 - Merge remote-tracking branch 'upstream/master' into bug-8264160
 - Updating spec
 - Proposed change for \b metacharacter

-

Changes: https://git.openjdk.java.net/jdk/pull/7539/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=7539=02
  Stats: 79 lines in 2 files changed: 61 ins; 6 del; 12 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7539.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7539/head:pull/7539

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


Re: RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS [v2]

2022-03-08 Thread Ian Graves
> Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
> metacharacters

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Bug id's to header and some other cleanup

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7539/files
  - new: https://git.openjdk.java.net/jdk/pull/7539/files/7177ac44..b0e98fab

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

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

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


Integrated: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag.

2022-03-08 Thread Ian Graves
On Mon, 14 Feb 2022 19:54:00 GMT, Ian Graves  wrote:

> Fixing a bug in `NFCCharProperty` where code falling through an if-statement 
> can prematurely set the matcher's `hitEnd` field to true.

This pull request has now been integrated.

Changeset: 3fc009be
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/3fc009be8a49f9edb8059d8612ef6ed7f048f242
Stats: 29 lines in 2 files changed: 27 ins; 2 del; 0 mod

8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag.

Reviewed-by: rriggs, lancea

-

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


Re: RFR: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag. [v4]

2022-03-07 Thread Ian Graves
> Fixing a bug in `NFCCharProperty` where code falling through an if-statement 
> can prematurely set the matcher's `hitEnd` field to true.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Adding back some missing CANON_EQ flags

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7466/files
  - new: https://git.openjdk.java.net/jdk/pull/7466/files/0d23365f..98c3d6fd

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

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

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


Re: RFR: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag. [v2]

2022-03-07 Thread Ian Graves
On Tue, 8 Mar 2022 03:49:43 GMT, Jaikiran Pai  wrote:

>> Ian Graves has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains two commits:
>> 
>>  - merging master
>>  - Catching erronious setting of matcher.hitEnd
>
> test/jdk/java/util/regex/RegExTest.java line 4568:
> 
>> 4566: 
>> 4567: var matcher1 = Pattern.compile(pat1).matcher(testInput);
>> 4568: var matcher2 = Pattern.compile(pat2).matcher(testInput);
> 
> Hello Ian,
> The JBS issue notes that the bug is only noticed when the `Pattern.CANON_EQ` 
> is used. The javadoc of this `CANON_EQ` states that this isn't enabled by 
> default. Do you think this test should also include matchers which use 
> Pattern(s) with this `CANON_EQ` explicitly enabled?

Oh wow yes. Thanks for this catch. I was rewriting the tests to fit this mold 
and left the flags out. Added them back in. Thanks again!

-

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


Re: RFR: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag. [v3]

2022-03-07 Thread Ian Graves
> Fixing a bug in `NFCCharProperty` where code falling through an if-statement 
> can prematurely set the matcher's `hitEnd` field to true.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Removing errant newline

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7466/files
  - new: https://git.openjdk.java.net/jdk/pull/7466/files/cf8ffd6c..0d23365f

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

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

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


Re: RFR: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag. [v3]

2022-03-07 Thread Ian Graves
On Mon, 7 Mar 2022 23:05:55 GMT, Lance Andersen  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Removing errant newline
>
> src/java.base/share/classes/java/util/regex/Pattern.java line 4009:
> 
>> 4007: return false;
>> 4008: }
>> 4009: else {
> 
> Is there a reason the "else" starts on its own line?

I must love Enter too much. Thanks for the catch!

-

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


RFR: 8264160: Regex \b is not consistent with \w without UNICODE_CHARACTER_CLASS

2022-03-07 Thread Ian Graves
Proposed change in behavior to correct inconsistencies between `\w` and `\b` 
metacharacters

-

Commit messages:
 - Fixing bad javadoc
 - Merge remote-tracking branch 'upstream/master' into bug-8264160
 - Updating spec
 - Proposed change for \b metacharacter

Changes: https://git.openjdk.java.net/jdk/pull/7539/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=7539=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8264160
  Stats: 78 lines in 2 files changed: 60 ins; 6 del; 12 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7539.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7539/head:pull/7539

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


Re: RFR: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag. [v2]

2022-03-07 Thread Ian Graves
> Fixing a bug in `NFCCharProperty` where code falling through an if-statement 
> can prematurely set the matcher's `hitEnd` field to true.

Ian Graves has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains two commits:

 - merging master
 - Catching erronious setting of matcher.hitEnd

-

Changes: https://git.openjdk.java.net/jdk/pull/7466/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=7466=01
  Stats: 29 lines in 2 files changed: 27 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7466.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7466/head:pull/7466

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


Integrated: 8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds Exception

2022-02-22 Thread Ian Graves
On Wed, 16 Feb 2022 18:45:29 GMT, Ian Graves  wrote:

> This is a fix in the buggy way CIBackRef traverses unicode characters that 
> could be variable-length. Originally it followed the approach that BackRef 
> does, but failed to account for unicode characters that could be 2 
> chars-long. The upper bound (groupSize) for the traversing loop is set by the 
> difference between group start and stop indexes. This works for single char 
> characters and it also works for case-sensitive comparisons because 
> byte-by-byte comparisons are acceptable, but it doesn't work for a comparison 
> where some kind of normalization (i.e. case) is required. This fix adjusts 
> the upper bound for the loop that traverses the character when a two-char 
> character is encountered.
> 
> An alternative was to check the length of the group size by scanning the 
> group in advance and converting to code points, but this could potentially 
> result in multiple scans and codepoint conversions of the same matcher group 
> which could be long. The solution that adjusts the loop bounds on the fly 
> avoids this case.

This pull request has now been integrated.

Changeset: 3cb38678
Author:Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/3cb38678aa7f03356421f5a17c1de4156e206d68
Stats: 25 lines in 2 files changed: 21 ins; 0 del; 4 mod

8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds 
Exception

Reviewed-by: naoto

-

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


Integrated: 8276686: Malformed Javadoc inline tags in JDK source in /java/util/regex/Pattern.java

2022-02-22 Thread Ian Graves
On Thu, 17 Feb 2022 18:02:20 GMT, Ian Graves  wrote:

> Adding a missing period per this doc bug.

This pull request has now been integrated.

Changeset: 41355e2d
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/41355e2daa43fa8433bf77ed187979c49d453f4a
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod

8276686: Malformed Javadoc inline tags in JDK source in 
/java/util/regex/Pattern.java

Reviewed-by: iris, bpb, lancea

-

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


RFR: 8276686: Malformed Javadoc inline tags in JDK source in /java/util/regex/Pattern.java

2022-02-17 Thread Ian Graves
Adding a missing period per this doc bug.

-

Commit messages:
 - Adding missing period

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

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


Re: RFR: 8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds Exception [v2]

2022-02-16 Thread Ian Graves
> This is a fix in the buggy way CIBackRef traverses unicode characters that 
> could be variable-length. Originally it followed the approach that BackRef 
> does, but failed to account for unicode characters that could be 2 
> chars-long. The upper bound (groupSize) for the traversing loop is set by the 
> difference between group start and stop indexes. This works for single char 
> characters and it also works for case-sensitive comparisons because 
> byte-by-byte comparisons are acceptable, but it doesn't work for a comparison 
> where some kind of normalization (i.e. case) is required. This fix adjusts 
> the upper bound for the loop that traverses the character when a two-char 
> character is encountered.
> 
> An alternative was to check the length of the group size by scanning the 
> group in advance and converting to code points, but this could potentially 
> result in multiple scans and codepoint conversions of the same matcher group 
> which could be long. The solution that adjusts the loop bounds on the fly 
> avoids this case.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Removing increment variable and some other tweaks

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7501/files
  - new: https://git.openjdk.java.net/jdk/pull/7501/files/28d80c80..c4e5343e

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

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

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


Re: RFR: 8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds Exception

2022-02-16 Thread Ian Graves
On Wed, 16 Feb 2022 21:00:00 GMT, Naoto Sato  wrote:

>> This is a fix in the buggy way CIBackRef traverses unicode characters that 
>> could be variable-length. Originally it followed the approach that BackRef 
>> does, but failed to account for unicode characters that could be 2 
>> chars-long. The upper bound (groupSize) for the traversing loop is set by 
>> the difference between group start and stop indexes. This works for single 
>> char characters and it also works for case-sensitive comparisons because 
>> byte-by-byte comparisons are acceptable, but it doesn't work for a 
>> comparison where some kind of normalization (i.e. case) is required. This 
>> fix adjusts the upper bound for the loop that traverses the character when a 
>> two-char character is encountered.
>> 
>> An alternative was to check the length of the group size by scanning the 
>> group in advance and converting to code points, but this could potentially 
>> result in multiple scans and codepoint conversions of the same matcher group 
>> which could be long. The solution that adjusts the loop bounds on the fly 
>> avoids this case.
>
> src/java.base/share/classes/java/util/regex/Pattern.java line 5104:
> 
>> 5102: j += Character.charCount(c2);
>> 5103: 
>> 5104: if(xIncr > 1) {
> 
> You can eliminate `xIncr` by comparing `c1 >= 
> Character.MIN_SUPPLEMENTARY_CODE_POINT` here.

Nice! Thanks will do.

-

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


RFR: 8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds Exception

2022-02-16 Thread Ian Graves
This is a fix in the buggy way CIBackRef traverses unicode characters that 
could be variable-length. Originally it followed the approach that BackRef 
does, but failed to account for unicode characters that could be 2 chars-long. 
The upper bound (groupSize) for the traversing loop is set by the difference 
between group start and stop indexes. This works for single char characters and 
it also works for case-sensitive comparisons because byte-by-byte comparisons 
are acceptable, but it doesn't work for a comparison where some kind of 
normalization (i.e. case) is required. This fix adjusts the upper bound for the 
loop that traverses the character when a two-char character is encountered.

An alternative was to check the length of the group size by scanning the group 
in advance and converting to code points, but this could potentially result in 
multiple scans and codepoint conversions of the same matcher group which could 
be long. The solution that adjusts the loop bounds on the fly avoids this case.

-

Commit messages:
 - Adding test
 - Initial fix for IOOBE in CIBackRef

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

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


RFR: 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag.

2022-02-14 Thread Ian Graves
Fixing a bug in `NFCCharProperty` where code falling through an if-statement 
can prematurely set the matcher's `hitEnd` field to true.

-

Commit messages:
 - Catching erronious setting of matcher.hitEnd

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

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


Integrated: 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match

2022-01-24 Thread Ian Graves
On Mon, 24 Jan 2022 17:21:57 GMT, Ian Graves  wrote:

> Replacing a buggy NullPointerException in `Pattern.compile()` with the proper 
> PatternSyntaxException

This pull request has now been integrated.

Changeset: e3076552
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/e3076552ec528864e61a6e0ec91e228006fddefc
Stats: 13 lines in 2 files changed: 11 ins; 0 del; 2 mod

8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match

Reviewed-by: lancea, iris, naoto, rriggs

-

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


Re: RFR: 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match

2022-01-24 Thread Ian Graves
On Mon, 24 Jan 2022 17:21:57 GMT, Ian Graves  wrote:

> Replacing a buggy NullPointerException in `Pattern.compile()` with the proper 
> PatternSyntaxException

Thanks @turbanoff , left off the JBS ID in the comment.

-

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


Re: RFR: 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match [v2]

2022-01-24 Thread Ian Graves
> Replacing a buggy NullPointerException in `Pattern.compile()` with the proper 
> PatternSyntaxException

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Fixing docs and dates

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7201/files
  - new: https://git.openjdk.java.net/jdk/pull/7201/files/9a64df4a..3189490a

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

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

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


RFR: 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match

2022-01-24 Thread Ian Graves
Replacing a buggy NullPointerException in `Pattern.compile()` with the proper 
PatternSyntaxException

-

Commit messages:
 - 8280403: RegEx: String.split can fail with NPE in 
Pattern.CharPredicate::match

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

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


Withdrawn: 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match

2022-01-24 Thread Ian Graves
On Mon, 24 Jan 2022 16:22:08 GMT, Ian Graves  wrote:

> Replacing a buggy NPE with a PatternSyntaxException for cases with a bad 
> intersection operator.

This pull request has been closed without being integrated.

-

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


RFR: 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match

2022-01-24 Thread Ian Graves
Replacing a buggy NPE with a PatternSyntaxException for cases with a bad 
intersection operator.

-

Commit messages:
 - 8280403: RegEx: String.split can fail with NPE in 
Pattern.CharPredicate::match

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

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


Re: RFR: 8276694: Pattern trailing unescaped backslash causes internal error

2022-01-11 Thread Ian Graves
On Mon, 20 Dec 2021 09:57:14 GMT, Masanori Yano  wrote:

> Could you please review the 8276694 bug fixes?
> 
> A message specific for this exception should be printed instead of an 
> internal error. This fix adds a new check to output an appropriate exception 
> message when the regular expression ends with an unescaped backslash. This 
> fix also checks the position of the cursor to rule out other syntax errors at 
> the middle position of the regular expression.

Looks good to me. Sponsoring.

-

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


RFR: 8217496: Matcher.group() can return null after usePattern

2021-10-05 Thread Ian Graves
Specification update to clarify Matcher behavior to include a null return value.

-

Commit messages:
 - 8217496 Matcher.group() can return null after usePattern

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

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


RFR: 8217501: Matcher.hitEnd returns false for incomplete surrogate pairs

2021-09-27 Thread Ian Graves
Fixing a bug where character matcher doesn't mark hitEnd as true if it's a code 
point with more than one character.

-

Commit messages:
 - 8217501: Matcher.hitEnd returns false for incomplete surrogate pairs

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

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


Integrated: 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure

2021-09-15 Thread Ian Graves
On Thu, 9 Sep 2021 04:19:07 GMT, Ian Graves  wrote:

> Relaxing some assertion bounds to allow for small error values that still 
> show improvement over previous summation method.

This pull request has now been integrated.

Changeset: f531b5c7
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/f531b5c79633a12efa56c55366e0b7196350e896
Stats: 18 lines in 1 file changed: 5 ins; 6 del; 7 mod

8273514: java/util/DoubleStreamSums/CompensatedSums.java failure

Reviewed-by: rriggs, darcy

-

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


Re: RFR: 8273691: Missing comma after 2021 in GraphemeTestAccessor.java copyright notice

2021-09-13 Thread Ian Graves
On Tue, 14 Sep 2021 00:15:31 GMT, David Holmes  wrote:

> Please review this trivial fix to add the missing comma.
> 
> Thanks,
> David

LGTM. Thanks @dholmes-ora

-

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


Integrated: 8273430: Suspicious duplicate condition in java.util.regex.Grapheme#isExcludedSpacingMark

2021-09-13 Thread Ian Graves
On Wed, 8 Sep 2021 20:24:31 GMT, Ian Graves  wrote:

> The duplicate condition in this chain of expressions needs to be shrunk to 
> drop a couple of character that are not excluded spacing marks.

This pull request has now been integrated.

Changeset: 3d9dc8f8
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/3d9dc8f824abf597d9b28f456cfeb5af927221b8
Stats: 539 lines in 4 files changed: 147 ins; 388 del; 4 mod

8273430: Suspicious duplicate condition in 
java.util.regex.Grapheme#isExcludedSpacingMark

Reviewed-by: naoto

-

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


Re: RFR: 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure [v3]

2021-09-13 Thread Ian Graves
> Relaxing some assertion bounds to allow for small error values that still 
> show improvement over previous summation method.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Factoring out Math.pow for squares

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5430/files
  - new: https://git.openjdk.java.net/jdk/pull/5430/files/8f77f3d3..bcd5892d

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

  Stats: 13 lines in 1 file changed: 4 ins; 3 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5430.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5430/head:pull/5430

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


Re: RFR: 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure [v2]

2021-09-13 Thread Ian Graves
On Mon, 13 Sep 2021 00:08:20 GMT, Joe Darcy  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Tweaking asserts
>
> test/jdk/java/util/DoubleStreamSums/CompensatedSums.java line 87:
> 
>> 85: badParallelStreamError += 
>> Math.pow(computeFinalSum(DoubleStream.of(rand).parallel().collect(doubleSupplier,objDoubleConsumer,badCollectorConsumer))
>>  - sum[0], 2);
>> 86: 
>> 87: 
> 
> Above, if there are going to be multiple uese of Math.pow(arg, 2) in the 
> test, I recommend defining a local private static square(double d) method for 
> this test where square is 
> double square(double arg) {return arg * arg;}
> The library method pow(arg, 2) does a check for the exponent being two and 
> does a multiple instead.

Good call. Done.

-

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


Re: RFR: 8273430: Suspicious duplicate condition in java.util.regex.Grapheme#isExcludedSpacingMark [v2]

2021-09-10 Thread Ian Graves
On Fri, 10 Sep 2021 20:57:34 GMT, Ian Graves  wrote:

>> The duplicate condition in this chain of expressions needs to be shrunk to 
>> drop a couple of character that are not excluded spacing marks.
>
> Ian Graves has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Refactoring test to whitebox

Updating the tests here. Existing ones included code copy/pasted directly from 
the unit under test. Refactored to a whitebox-style testing that injects 
accessors into `java.util.regex` so we don't have to modify code in two places 
to keep it in sync. Also relaxed two private static methods in 
`java.util.regex.Grapheme` to package-private so the injected accessor class 
can reach them and expose them for the test.

-

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


Re: RFR: 8273430: Suspicious duplicate condition in java.util.regex.Grapheme#isExcludedSpacingMark [v2]

2021-09-10 Thread Ian Graves
> The duplicate condition in this chain of expressions needs to be shrunk to 
> drop a couple of character that are not excluded spacing marks.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Refactoring test to whitebox

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5425/files
  - new: https://git.openjdk.java.net/jdk/pull/5425/files/ed2e4d2a..c60523af

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

  Stats: 545 lines in 4 files changed: 147 ins; 395 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5425.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5425/head:pull/5425

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


Re: RFR: 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure [v2]

2021-09-09 Thread Ian Graves
> Relaxing some assertion bounds to allow for small error values that still 
> show improvement over previous summation method.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Tweaking asserts

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5430/files
  - new: https://git.openjdk.java.net/jdk/pull/5430/files/e3aaa680..8f77f3d3

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

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

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


RFR: 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure

2021-09-08 Thread Ian Graves
Relaxing some assertion bounds to allow for small error values that still show 
improvement over previous summation method.

-

Commit messages:
 - Dropping unnecessary equals case
 - Dropping equals zero assert

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

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


RFR: 8273430: Suspicious duplicate condition in java.util.regex.Grapheme#isExcludedSpacingMark

2021-09-08 Thread Ian Graves
The duplicate condition in this chain of expressions needs to be shrunk to drop 
a couple of character that are not excluded spacing marks.

-

Commit messages:
 - 8273430: Suspicious duplicate condition in 
java.util.regex.Grapheme#isExcludedSpacingMark

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

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


Integrated: 8214761: Bug in parallel Kahan summation implementation

2021-09-02 Thread Ian Graves
On Fri, 2 Jul 2021 20:12:39 GMT, Ian Graves  wrote:

> 8214761: Bug in parallel Kahan summation implementation

This pull request has now been integrated.

Changeset: dd871819
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/dd871819a05886ee09fc00c7c778268440ebedb7
Stats: 235 lines in 5 files changed: 225 ins; 0 del; 10 mod

8214761: Bug in parallel Kahan summation implementation

Reviewed-by: darcy

-

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


Re: RFR: 8214761: Bug in parallel Kahan summation implementation [v4]

2021-09-01 Thread Ian Graves
> 8214761: Bug in parallel Kahan summation implementation

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Fixing compensation test

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4674/files
  - new: https://git.openjdk.java.net/jdk/pull/4674/files/905450d8..722826fc

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

  Stats: 13 lines in 1 file changed: 5 ins; 4 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4674.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4674/head:pull/4674

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


Re: RFR: 8214761: Bug in parallel Kahan summation implementation [v3]

2021-08-31 Thread Ian Graves
> 8214761: Bug in parallel Kahan summation implementation

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

 - Changing some comments.
 - Merge branch 'master' into kahan-summation-bug
 - Updates with more test coverage
 - stashing
 - Stashing
 - 8214761: Bug in parallel Kahan summation implementation

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4674/files
  - new: https://git.openjdk.java.net/jdk/pull/4674/files/10b8dcda..905450d8

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

  Stats: 107423 lines in 2079 files changed: 73519 ins; 22961 del; 10943 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4674.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4674/head:pull/4674

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


Integrated: 8271302: Regex Test Refresh

2021-08-30 Thread Ian Graves
On Wed, 11 Aug 2021 18:22:42 GMT, Ian Graves  wrote:

> 8271302: Regex Test Refresh

This pull request has now been integrated.

Changeset: fecefb85
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/fecefb8541d5056b1a8b105126ac9c566875e056
Stats: 2253 lines in 3 files changed: 220 ins; 989 del; 1044 mod

8271302: Regex Test Refresh

Reviewed-by: bchristi, smarks

-

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


Re: RFR: 8271302: Regex Test Refresh [v5]

2021-08-30 Thread Ian Graves
> 8271302: Regex Test Refresh

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Removing some notes re JUnit5

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5092/files
  - new: https://git.openjdk.java.net/jdk/pull/5092/files/3f01c172..0845a56f

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=5092=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=5092=03-04

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

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


Re: RFR: 8271302: Regex Test Refresh [v4]

2021-08-30 Thread Ian Graves
On Fri, 27 Aug 2021 23:18:34 GMT, Stuart Marks  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Additional cleanup
>
> test/jdk/java/util/regex/RegExTest.java line 85:
> 
>> 83: import static org.testng.Assert.fail;
>> 84: import static org.testng.Assert.expectThrows; //Replaced by assertThrows 
>> in JUnit5
>> 85: 
> 
> Slightly odd to mention JUnit 5 here, since this is being converted to a 
> TestNG test. Are these notes for yourself for future work?

Ah yes. I'll pull that.

-

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


Re: RFR: 8271302: Regex Test Refresh [v4]

2021-08-20 Thread Ian Graves
> 8271302: Regex Test Refresh

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Additional cleanup

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5092/files
  - new: https://git.openjdk.java.net/jdk/pull/5092/files/3937bf8f..3f01c172

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

  Stats: 46 lines in 1 file changed: 1 ins; 27 del; 18 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5092.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5092/head:pull/5092

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


Re: RFR: 8271302: Regex Test Refresh [v3]

2021-08-20 Thread Ian Graves
> 8271302: Regex Test Refresh

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  some quick fixes

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5092/files
  - new: https://git.openjdk.java.net/jdk/pull/5092/files/0e9fa209..3937bf8f

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

  Stats: 8 lines in 2 files changed: 1 ins; 3 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5092.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5092/head:pull/5092

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


Re: RFR: 8271302: Regex Test Refresh [v2]

2021-08-20 Thread Ian Graves
On Fri, 20 Aug 2021 13:32:24 GMT, Pavel Rappo  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Couple of fixes
>
> test/jdk/java/util/regex/NegativeArraySize.java line 29:
> 
>> 27:  * @summary Pattern.compile() can throw confusing 
>> NegativeArraySizeException
>> 28:  * @requires os.maxMemory >= 5g
>> 29:  * @run testng/othervm -Xms5G -Xmx5G NegativeArraySize
> 
> I note that the order of the arguments has changed. Will that work as 
> expected? Had it worked as expected before?

The new order is consistent with other tests. I had difficulty getting it to 
run in the original configuration. Perhaps jtreg is more sensitive on order 
with the testng runner.

> test/jdk/java/util/regex/RegExTest.java line 121:
> 
>> 119: private static void check(String p, String s, boolean expected) {
>> 120: Matcher matcher = Pattern.compile(p).matcher(s);
>> 121: assertSame(matcher.find(), expected);
> 
> Why use `assertSame(Object, Object)`? I would expect `assertEquals(boolean, 
> boolean)`.

Artifacting because of the use of `==` I'll make it more readable.

-

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


Re: RFR: 8271302: Regex Test Refresh [v2]

2021-08-18 Thread Ian Graves
On Fri, 13 Aug 2021 20:17:56 GMT, Brent Christian  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Couple of fixes
>
> test/jdk/java/util/regex/RegExTest.java line 3952:
> 
>> 3950: 
>> 3951: m = Pattern.compile("\\H").matcher(matcherSubstring);
>> 3952: assertTrue(m.find() || ng.equals(m.group()));
> 
> Should this be:
> `assertTrue(m.find() && ng.equals(m.group()));`

Good catch. De Morgan's mistake

-

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


Re: RFR: 8271302: Regex Test Refresh [v2]

2021-08-18 Thread Ian Graves
> 8271302: Regex Test Refresh

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Couple of fixes

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5092/files
  - new: https://git.openjdk.java.net/jdk/pull/5092/files/1426e323..0e9fa209

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

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

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


Re: RFR: 8271302: Regex Test Refresh

2021-08-18 Thread Ian Graves
On Fri, 13 Aug 2021 20:16:22 GMT, Brent Christian  wrote:

>> 8271302: Regex Test Refresh
>
> test/jdk/java/util/regex/RegExTest.java line 2362:
> 
>> 2360: 
>> 2361: { "test\ud834\uddc0", "test\ud834\uddc0",  
>>"m", true },
>> 2362: //{ "test\ud834\uddbc\ud834\udd6f", "test\ud834\uddc0",
>>  "m", true }, //problem
> 
> Should an issue be filed for these //problems ?

Yessir! https://bugs.openjdk.java.net/browse/JDK-8271919

-

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


RFR: 8271302: Regex Test Refresh

2021-08-11 Thread Ian Graves
8271302: Regex Test Refresh

-

Commit messages:
 - Migrating regular expression tests to TestNG

Changes: https://git.openjdk.java.net/jdk/pull/5092/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=5092=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8271302
  Stats: 2226 lines in 3 files changed: 225 ins; 965 del; 1036 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5092.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5092/head:pull/5092

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


Re: RFR: 8271302: Regex Test Refresh

2021-08-11 Thread Ian Graves
On Wed, 11 Aug 2021 18:22:42 GMT, Ian Graves  wrote:

> 8271302: Regex Test Refresh

This PR migrates all regular expression tests in the jdk/java/util/regex 
directory to use TestNG assertions and annotations. The assertions utilized for 
this refresh are shared in common with standard ones from JUnit5 should such a 
migration occur in the future.

-

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


Integrated: 8269753: Misplaced caret in PatternSyntaxException's detail message

2021-07-26 Thread Ian Graves
On Mon, 26 Jul 2021 18:10:03 GMT, Ian Graves  wrote:

> Fixes a bug where carets aren't indented correctly in PatternSyntaxException 
> messages because tab characters are converted to spaces in their indentation.

This pull request has now been integrated.

Changeset: bb508e13
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/bb508e13032c3571c48275391dfeb04c03bbf3a3
Stats: 24 lines in 2 files changed: 21 ins; 0 del; 3 mod

8269753: Misplaced caret in PatternSyntaxException's detail message

Reviewed-by: prappo

-

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


Re: RFR: 8269753: Misplaced caret in PatternSyntaxException's detail message [v3]

2021-07-26 Thread Ian Graves
> Fixes a bug where carets aren't indented correctly in PatternSyntaxException 
> messages because tab characters are converted to spaces in their indentation.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Tweaking some spacing. Fixing some report placement.

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4906/files
  - new: https://git.openjdk.java.net/jdk/pull/4906/files/339b438a..c47b0651

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

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

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


Re: RFR: 8269753: Misplaced caret in PatternSyntaxException's detail message [v2]

2021-07-26 Thread Ian Graves
> Fixes a bug where carets aren't indented correctly in PatternSyntaxException 
> messages because tab characters are converted to spaces in their indentation.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Copyright years

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4906/files
  - new: https://git.openjdk.java.net/jdk/pull/4906/files/2609dd96..339b438a

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

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

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


Re: RFR: 8269753: Misplaced caret in PatternSyntaxException's detail message

2021-07-26 Thread Ian Graves
On Mon, 26 Jul 2021 18:10:03 GMT, Ian Graves  wrote:

> Fixes a bug where carets aren't indented correctly in PatternSyntaxException 
> messages because tab characters are converted to spaces in their indentation.

@pavelrappo

-

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


RFR: 8269753: Misplaced caret in PatternSyntaxException's detail message

2021-07-26 Thread Ian Graves
Fixes a bug where carets aren't indented correctly in PatternSyntaxException 
messages because tab characters are converted to spaces in their indentation.

-

Commit messages:
 - 8269753: Misplaced caret in PatternSyntaxException's detail message

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

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


Integrated: 8199594: Add doc describing how (?x) ignores spaces in character classes

2021-07-23 Thread Ian Graves
On Mon, 28 Jun 2021 20:50:42 GMT, Ian Graves  wrote:

> 8199594: Add doc describing how (?x) ignores spaces in character classes

This pull request has now been integrated.

Changeset: a1c0a6aa
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/a1c0a6aafb575e3d5c76dd3a279e4fe03ca07223
Stats: 11 lines in 1 file changed: 10 ins; 0 del; 1 mod

8199594: Add doc describing how (?x) ignores spaces in character classes

Reviewed-by: darcy, naoto, iris, lancea, bpb

-

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


Re: RFR: 8214761: Bug in parallel Kahan summation implementation [v2]

2021-07-22 Thread Ian Graves
On Wed, 21 Jul 2021 20:19:31 GMT, Ian Graves  wrote:

>> 8214761: Bug in parallel Kahan summation implementation
>
> Ian Graves has updated the pull request incrementally with three additional 
> commits since the last revision:
> 
>  - Updates with more test coverage
>  - stashing
>  - Stashing

Circling back on this. I've worked in the test from Ivan Gerasimov's email back 
when. It includes some additional comparisons to prior approaches to assert 
improvements in error.

-

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v3]

2021-07-21 Thread Ian Graves
> 8199594: Add doc describing how (?x) ignores spaces in character classes

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Rewording repetitive phrase

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4618/files
  - new: https://git.openjdk.java.net/jdk/pull/4618/files/11bafe80..521cddca

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

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

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v2]

2021-07-21 Thread Ian Graves
On Wed, 21 Jul 2021 21:30:01 GMT, Lance Andersen  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   delete errant line
>
> src/java.base/share/classes/java/util/regex/Pattern.java line 758:
> 
>> 756:  *group just as in Perl.  
>> 757:  *
>> 758:  * In Perl, free-spacing mode (which is called 
>> comments
> 
> Looks good overall, one suggestion is to perhaps re-phrase the opening of the 
> paragraph as the preceding  paragraph also starts with "In-Perl".

Good idea. Re-worded to "Free-spacing mode in Perl (called comments..."

-

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v2]

2021-07-21 Thread Ian Graves
On Wed, 21 Jul 2021 20:22:04 GMT, Pavel Rappo  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   delete errant line
>
> src/java.base/share/classes/java/util/regex/Pattern.java line 833:
> 
>> 831:  *  Comments mode can also be enabled via the embedded flag
>> 832:  * expression{@code (?x)}.
>> 833:  *
> 
> Nit: is this extra line necessary?

Nope! Deleted.

-

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v2]

2021-07-21 Thread Ian Graves
> 8199594: Add doc describing how (?x) ignores spaces in character classes

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  delete errant line

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4618/files
  - new: https://git.openjdk.java.net/jdk/pull/4618/files/07ea6f0f..11bafe80

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

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

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


Re: RFR: 8214761: Bug in parallel Kahan summation implementation [v2]

2021-07-21 Thread Ian Graves
> 8214761: Bug in parallel Kahan summation implementation

Ian Graves has updated the pull request incrementally with three additional 
commits since the last revision:

 - Updates with more test coverage
 - stashing
 - Stashing

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4674/files
  - new: https://git.openjdk.java.net/jdk/pull/4674/files/d7fc3948..10b8dcda

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

  Stats: 216 lines in 4 files changed: 213 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4674.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4674/head:pull/4674

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


Re: RFR: 8214761: Bug in parallel Kahan summation implementation

2021-07-06 Thread Ian Graves
On Fri, 2 Jul 2021 21:30:56 GMT, stefan-zobel 
 wrote:

>> 8214761: Bug in parallel Kahan summation implementation
>
> src/java.base/share/classes/java/util/DoubleSummaryStatistics.java line 161:
> 
>> 159: 
>> 160: //Negating this value because low-order bits are in negated form
>> 161: sumWithCompensation(-other.sumCompensation);
> 
> Wouldn't that be `double tmp =  sum - sumCompensation;` in getSum() in line 
> 246 too?

Good catch will review and make the change.

-

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


RFR: 8214761: Bug in parallel Kahan summation implementation

2021-07-02 Thread Ian Graves
8214761: Bug in parallel Kahan summation implementation

-

Commit messages:
 - 8214761: Bug in parallel Kahan summation implementation

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

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


Integrated: 8268664: The documentation of the Scanner.hasNextLine is incorrect

2021-07-02 Thread Ian Graves
On Tue, 22 Jun 2021 04:22:34 GMT, Ian Graves  wrote:

> 8268664: The documentation of the Scanner.hasNextLine is incorrect

This pull request has now been integrated.

Changeset: 0d0f6a4b
Author:    Ian Graves 
URL:   
https://git.openjdk.java.net/jdk/commit/0d0f6a4becfb14304f6cea9d3a1d113f049214c0
Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod

8268664: The documentation of the Scanner.hasNextLine is incorrect

Reviewed-by: rriggs, bpb, iris

-

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


RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes

2021-06-28 Thread Ian Graves
8199594: Add doc describing how (?x) ignores spaces in character classes

-

Commit messages:
 - Updating documentation on comments mode and character class whitespace

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

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


RFR: 8268664: The documentation of the Scanner.hasNextLine is incorrect

2021-06-21 Thread Ian Graves
8268664: The documentation of the Scanner.hasNextLine is incorrect

-

Commit messages:
 - Clarifying docs on Scanner.hasNextLine() regarding line separators

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

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


Integrated: 8266155: Convert java.base to use Stream.toList()

2021-04-30 Thread Ian Graves
On Tue, 27 Apr 2021 21:34:02 GMT, Ian Graves  wrote:

> 8266155: Convert java.base to use Stream.toList()

This pull request has now been integrated.

Changeset: dd05158b
Author:    Ian Graves 
Committer: Pavel Rappo 
URL:   
https://git.openjdk.java.net/jdk/commit/dd05158b24e8b399052a170ea9fe9ee6f65c0432
Stats: 25 lines in 8 files changed: 0 ins; 11 del; 14 mod

8266155: Convert java.base to use Stream.toList()

Reviewed-by: bpb, naoto, iris, chegar

-

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


Integrated: 8260560: convert jdeps and jdeprscan tools to use Stream.toList()

2021-04-30 Thread Ian Graves
On Tue, 27 Apr 2021 00:20:49 GMT, Ian Graves  wrote:

> 8260560: convert jdeps and jdeprscan tools to use Stream.toList()

This pull request has now been integrated.

Changeset: c36c63a0
Author:    Ian Graves 
Committer: Pavel Rappo 
URL:   
https://git.openjdk.java.net/jdk/commit/c36c63a008fa5e8b00dfc36c887cd9497fb91ab5
Stats: 9 lines in 4 files changed: 0 ins; 0 del; 9 mod

8260560: convert jdeps and jdeprscan tools to use Stream.toList()

Reviewed-by: alanb, mchung, iris

-

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


Re: RFR: 8266155: Convert java.base to use Stream.toList() [v2]

2021-04-28 Thread Ian Graves
> 8266155: Convert java.base to use Stream.toList()

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Removing redundant imports

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3734/files
  - new: https://git.openjdk.java.net/jdk/pull/3734/files/3fb335e8..a0242a13

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

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

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


RFR: 8266155: Convert java.base to use Stream.toList()

2021-04-27 Thread Ian Graves
8266155: Convert java.base to use Stream.toList()

-

Commit messages:
 - Migrating java.base to use Stream.toList()

Changes: https://git.openjdk.java.net/jdk/pull/3734/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=3734=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8266155
  Stats: 18 lines in 8 files changed: 0 ins; 4 del; 14 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3734.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3734/head:pull/3734

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


RFR: 8260560: convert jdeps and jdeprscan tools to use Stream.toList()

2021-04-26 Thread Ian Graves
8260560: convert jdeps and jdeprscan tools to use Stream.toList()

-

Commit messages:
 - Updating jdeps and jdeprscan to use Stream.toList()

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

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v3]

2021-04-21 Thread Ian Graves
> Clarifying note on comments mode to explicitly note that whitespace within 
> character classes is ignored.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Tweaking wording and placement

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3577/files
  - new: https://git.openjdk.java.net/jdk/pull/3577/files/f4507e3a..79390124

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

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

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v2]

2021-04-21 Thread Ian Graves
On Wed, 21 Apr 2021 02:56:12 GMT, Stuart Marks  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Adding differences to Perl 5 note
>
> A few minor wording adjustments. Please update the CSR accordingly and I'll 
> review it too.

Wording updated per @stuart-marks's suggestions. Thanks! CSR updated 
accordingly.

-

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


Integrated: 8037397: RegEx pattern matching loses character class after intersection (&&) operator

2021-04-21 Thread Ian Graves
On Wed, 31 Mar 2021 20:38:33 GMT, Ian Graves  wrote:

> Bug fix with the intersection `&&` operator in regex patterns. In 
> JDK-8037397, some character classes on the right hand side of the operator 
> are dropped in cases where nested `[..]` classes are used with non "nested" 
> ones.

This pull request has now been integrated.

Changeset: b337f633
Author:Ian Graves 
Committer: Roger Riggs 
URL:   https://git.openjdk.java.net/jdk/commit/b337f633
Stats: 41 lines in 2 files changed: 38 ins; 0 del; 3 mod

8037397: RegEx pattern matching loses character class after intersection (&&) 
operator

Reviewed-by: rriggs

-

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes [v2]

2021-04-19 Thread Ian Graves
> Clarifying note on comments mode to explicitly note that whitespace within 
> character classes is ignored.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Adding differences to Perl 5 note

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3577/files
  - new: https://git.openjdk.java.net/jdk/pull/3577/files/8ab051aa..f4507e3a

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

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

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


Re: RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes

2021-04-19 Thread Ian Graves
On Mon, 19 Apr 2021 20:43:26 GMT, Ian Graves  wrote:

> Clarifying note on comments mode to explicitly note that whitespace within 
> character classes is ignored.

Will put a /csr in to be safe.

-

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


RFR: 8199594: Add doc describing how (?x) ignores spaces in character classes

2021-04-19 Thread Ian Graves
Clarifying note on comments mode to explicitly note that whitespace within 
character classes is ignored.

-

Commit messages:
 - Note about comments mode and character class whitespace

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

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


Integrated: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits

2021-04-16 Thread Ian Graves
On Tue, 6 Apr 2021 20:34:52 GMT, Ian Graves  wrote:

> This fixes a bug where the formatting code for `%g` flags incorrectly tries 
> to round `BigDecimal` after determining whether it should be a decimal 
> numeric format or a scientific numeric format. The solution rounds before 
> determining the correct format.

This pull request has now been integrated.

Changeset: 0bdc3e7a
Author:    Ian Graves 
Committer: Roger Riggs 
URL:   https://git.openjdk.java.net/jdk/commit/0bdc3e7a
Stats: 66 lines in 2 files changed: 62 ins; 1 del; 3 mod

8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up 
to limits

Reviewed-by: rriggs, bpb

-

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


Re: RFR: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits [v3]

2021-04-16 Thread Ian Graves
On Fri, 16 Apr 2021 16:08:53 GMT, Ian Graves  wrote:

>> This fixes a bug where the formatting code for `%g` flags incorrectly tries 
>> to round `BigDecimal` after determining whether it should be a decimal 
>> numeric format or a scientific numeric format. The solution rounds before 
>> determining the correct format.
>
> Ian Graves has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Inlining some single use variables

That's correct. Passes `java.math` tests. Ran it again, just to be sure.

-

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


Re: RFR: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits [v2]

2021-04-16 Thread Ian Graves
On Fri, 16 Apr 2021 14:26:58 GMT, Roger Riggs  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Adding BigDecimal equivalents to tests
>
> src/java.base/share/classes/java/util/Formatter.java line 3826:
> 
>> 3824: BigDecimal tenToTheNegFour = BigDecimal.valueOf(1, 4);
>> 3825: BigDecimal tenToThePrec = BigDecimal.valueOf(1, -prec);
>> 3826: value = value.round(new MathContext(prec));
> 
> While you are in the area, how about inlining the creation of the 
> tenToTheNegFour and tenToThePrec values.
> They are used only once and may not be used at all. They don't appear to be 
> needed except for the comparisons.

Makes sense to me.

-

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


Re: RFR: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits [v3]

2021-04-16 Thread Ian Graves
> This fixes a bug where the formatting code for `%g` flags incorrectly tries 
> to round `BigDecimal` after determining whether it should be a decimal 
> numeric format or a scientific numeric format. The solution rounds before 
> determining the correct format.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Inlining some single use variables

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3363/files
  - new: https://git.openjdk.java.net/jdk/pull/3363/files/cf40421e..45522605

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

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

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


Re: RFR: 8214761: Bug in parallel Kahan summation implementation

2021-04-12 Thread Ian Graves
On Mon, 12 Apr 2021 19:45:24 GMT, Ian Graves  wrote:

> Fixes a bug where the compensated sum should be negated when added together 
> in the merge step of a given collector. This impacts accuracy of parallel 
> summations with Double streams and creates larger deviations from a standard 
> sequential (ie non-parallel) compensated summation.

Duplicate of https://github.com/openjdk/jdk/pull/2988

-

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


Withdrawn: 8214761: Bug in parallel Kahan summation implementation

2021-04-12 Thread Ian Graves
On Mon, 12 Apr 2021 19:45:24 GMT, Ian Graves  wrote:

> Fixes a bug where the compensated sum should be negated when added together 
> in the merge step of a given collector. This impacts accuracy of parallel 
> summations with Double streams and creates larger deviations from a standard 
> sequential (ie non-parallel) compensated summation.

This pull request has been closed without being integrated.

-

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


RFR: 8214761: Bug in parallel Kahan summation implementation

2021-04-12 Thread Ian Graves
Fixes a bug where the compensated sum should be negated when added together in 
the merge step of a given collector. This impacts accuracy of parallel 
summations with Double streams and creates larger deviations from a standard 
sequential (ie non-parallel) compensated summation.

-

Commit messages:
 - Fixing a compensated/Kahan summation bug that increase error

Changes: https://git.openjdk.java.net/jdk/pull/3442/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=3442=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8214761
  Stats: 16 lines in 3 files changed: 10 ins; 0 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3442.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3442/head:pull/3442

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


Re: RFR: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits [v2]

2021-04-06 Thread Ian Graves
On Tue, 6 Apr 2021 22:56:22 GMT, Joe Darcy  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Adding BigDecimal equivalents to tests
>
> test/jdk/java/util/Formatter/BigDecimalRounding.java line 44:
> 
>> 42: public static void testBigDecimalRounding() {
>> 43: var res1 = String.format("%g", 0.9995);
>> 44: var res2 = String.format("%g", 0.999f);
> 
> To avoid possible vagaries in decimal -> binary conversion of double values, 
> I suggest also testing against a BigDecimal directly rounded to the precision 
> in question.

Good thought, thanks.

-

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


Re: RFR: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits [v2]

2021-04-06 Thread Ian Graves
> This fixes a bug where the formatting code for `%g` flags incorrectly tries 
> to round `BigDecimal` after determining whether it should be a decimal 
> numeric format or a scientific numeric format. The solution rounds before 
> determining the correct format.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Adding BigDecimal equivalents to tests

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3363/files
  - new: https://git.openjdk.java.net/jdk/pull/3363/files/8ec00f8f..cf40421e

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

  Stats: 10 lines in 1 file changed: 5 ins; 1 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3363.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3363/head:pull/3363

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


RFR: 8262744: Formatter '%g' conversion uses wrong format for BigDecimal rounding up to limits

2021-04-06 Thread Ian Graves
This fixes a bug where the formatting code for `%g` flags incorrectly tries to 
round `BigDecimal` after determining whether it should be a decimal numeric 
format or a scientific numeric format. The solution rounds before determining 
the correct format.

-

Commit messages:
 - Fixing rounding issue with BigDecimal and %g formatting flags

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

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


Re: RFR: 8037397: Lost nested character class after intersection && [v4]

2021-04-02 Thread Ian Graves
> Bug fix with the intersection `&&` operator in regex patterns. In 
> JDK-8037397, some character classes on the right hand side of the operator 
> are dropped in cases where nested `[..]` classes are used with non "nested" 
> ones.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Bumping copyright date.

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3291/files
  - new: https://git.openjdk.java.net/jdk/pull/3291/files/9a46443d..de0fa217

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

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

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


Re: RFR: 8037397: Lost nested character class after intersection && [v3]

2021-04-02 Thread Ian Graves
On Thu, 1 Apr 2021 00:33:26 GMT, Florent Guillaume 
 wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Adding a test.
>
> src/java.base/share/classes/java/util/regex/Pattern.java line 2666:
> 
>> 2664: } else { // abc&
>> 2665: unread();
>> 2666: if(right == null) {
> 
> Missing space after `if`. There will be a unit test as well?
> 
> (Please tell me if these comments aren't suitable or relevant, as I'm not 
> involved in the project.)

Yep, they are suitable thanks!

-

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


Re: RFR: 8037397: Lost nested character class after intersection && [v3]

2021-04-02 Thread Ian Graves
> Bug fix with the intersection `&&` operator in regex patterns. In 
> JDK-8037397, some character classes on the right hand side of the operator 
> are dropped in cases where nested `[..]` classes are used with non "nested" 
> ones.

Ian Graves has updated the pull request incrementally with one additional 
commit since the last revision:

  Adding a test.

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3291/files
  - new: https://git.openjdk.java.net/jdk/pull/3291/files/2a783a1e..9a46443d

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

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

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


Re: RFR: 8037397: Lost nested character class after intersection && [v3]

2021-04-02 Thread Ian Graves
On Thu, 1 Apr 2021 14:21:20 GMT, Roger Riggs  wrote:

>> Ian Graves has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Adding a test.
>
> Please add a test.

Tagging with CSR because this will impact a long-standing (buggy) behavior.

-

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


  1   2   >