Thank you Claes and Brent for reviewing!
I'll edit the comment as suggested before pushing.
And yes, we do have a few testcases to verify this optimization in
RegExTest.java / BMPTestCases.txt.
With kind regards,
Ivan
On 6/4/19 2:30 PM, Brent Christian wrote:
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.)
--
With kind regards,
Ivan Gerasimov