new_interrupt
Provide a lighter-weight mechanism for interrupting.
Previously, when calling the non-"interruptible" versions of the match and search methods, you would still see a penalty from the interrupt checking. This change makes two modifications:
* A second mechanism for interrupting is added as a volatile boolean on the matcher itself. You must have the matcher in hand to set the flag. Setting the flag renders the matcher "dead" and future search and match calls will raise again. * The match and search methods call along a path that is only interruptible by the volatile flag. The interruptible versions also check the volatile for consistency.
The visible behavioral change here is that "match" and "search" will not respond to Thread interrupt events anymore. If they need to be interrupted, interrupt the matcher directly.