The "Yarr JIT code checks BOL (^) each time through loop when in subexpression" (https://bugs.webkit.org/show_bug.cgi?id=45787) optimization slows down the YARR Interpreter. The reason of the slow-down is the modification extends the tree which is generated by the regex parser. The Interpreter doesn't perform the BOL optimization therefore it does some unnecessary matches. The optimization should be implemented in the YARR Interpreter as well.
Created attachment 68363 [details] proposed patch performance results: ref mod regexp-dna: - 283.3ms +/- 0.1% 282.5ms +/- 2.2% v8-regexp: 1.51x as fast 2426.7ms +/- 0.1% 1611.1ms +/- 0.7%
Comment on attachment 68363 [details] proposed patch Looks great!
Comment on attachment 68363 [details] proposed patch Clearing flags on attachment: 68363 Committed r68127: <http://trac.webkit.org/changeset/68127>
All reviewed patches have been landed. Closing bug.