Subj : Re: SpiderMonkey RegExp rewrite has landed To : PhilSchwartau@aol.com From : Phil Schwartau Date : Wed Oct 22 2003 06:17 pm I should point out, a similar landing has also gone into Rhino: see http://bugzilla.mozilla.org/show_bug.cgi?id=125562 Phil Phil Schwartau wrote: > Hi, > > A new landing has gone in, rewriting the regular expression engine > in SpiderMonkey. Brendan and zack-weg@gmx.de mentioned this in recent > postings, but I wanted to explicitly call attention to it, since it > will change SpiderMonkey RegExp output in certain cases. > > The rewrite was originally undertaken to fix performance issues: > http://bugzilla.mozilla.org/show_bug.cgi?id=85721 > "Regexp performance degraded from 4.7" > > However, it additionally corrects certain errors contributors had > reported in our RegExp matching. JS users should be aware of this > in case they notice a change in SpiderMonkey RegExp output. > > For details, see the long list of bugs listed either as dependencies > on bug 85721, or duped against it. The correctness issues in these bugs > have all been incorporated into the RegExp rewrite. > > For example, one important change is outlined here: > > http://bugzilla.mozilla.org/show_bug.cgi?id=123437 > "Regexp backreferences /(a)? etc./ must hold |undefined| if not used" > > Please file new bugs on any remaining issues, performance or correctness. > > A set of RegExp tests exists in mozilla/js/tests/ecma_3/RegExp/. > It includes two very large tests benchmarking SpiderMonkey for > correctness against the Perl 5 regular expression engine: > > http://lxr.mozilla.org/mozilla/source/js/tests/ecma_3/RegExp/perlstress-001.js > > http://lxr.mozilla.org/mozilla/source/js/tests/ecma_3/RegExp/perlstress-002.js > > > Phil > .