Hi,
Please review the fix to the following issue:
https://bugs.openjdk.java.net/browse/JDK-8247546
The proposed changeset is located at:
https://cr.openjdk.java.net/~naoto/8247546/webrev.00/
On compiling the regex pattern, the start node is chosen based on the
pattern, i.e, whether it involves supplementary processing or not. On
deciding which implementation to use, surrogates were not taken into
consideration, which leads to the issue in the bug report. The proposed
fix is to make it aware of surrogates, and choose the correct
supplementary-aware implementation for the start node.
Apart from the original issue, there was a bug in Range() method
(Pattern.java:5795), so it is fixed along.
Naoto