"""String(checkRule.upHashChars)""" seems to be very expensive at the beginning of checkRule().
The attached patch avoids this.
I've found this bottleneck, which made jEdit really sloppy here in the last days, by using jProfiler.
I'm not sure if there are any side effects, but it results in better performance!
The if-statement above the patched one should get optimized probably, too.
Assigning to vampire, because he refactored this part before.