RFR 8225198 : Optimize regex tree for greedy quantifiers of type {N, }

Brent Christian brent.christian at oracle.com
Tue Jun 4 21:30:52 UTC 2019


Hi, Ivan

The change looks fine.

I would call this "noreg-cleanup".  Tests are needed to confirm the 
correctness of the new code, which I imagine we already have.


One small suggestion:

src/java.base/share/classes/java/util/regex/Pattern.java


4271      * and unlimited maximum, for *, + and {N,} quantifiers.


If the maximum is still MAX_REPS, I'd prefer to continue to say that 
(rather than, "unlimited.")

Thanks.
-Brent

On 6/3/19 12:54 PM, Ivan Gerasimov wrote:
> Hello!
> 
> When building a match-tree, the regex engine optimizes '*' and '+' 
> greedy quantifiers by using special node of type CharPropertyGreedy.
> 
> This later class can be used unmodified for other greedy quantifiers 
> without the upper limit, i.e. of type '{N,}'.
> 
> Would you please help review this simple optimization?
> 
> BUGURL: https://bugs.openjdk.java.net/browse/JDK-8225198
> WEBREV: http://cr.openjdk.java.net/~igerasim/8225198/00/webrev/
> 
> (With the fix, one unused class was also removed.  This class was to 
> implement conditionals, which were never supported by Java regexs.)
> 


More information about the core-libs-dev mailing list