Bug 16186
| Summary: | Reduce number of c-stack-based MatchFrames | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | barraclough, darin, ggaren, mjs |
| Priority: | P2 | ||
| Version: | 523.x (Safari 3) | ||
| Hardware: | Mac | ||
| OS: | OS X 10.4 | ||
| Bug Depends on: | 16185, 16187 | ||
| Bug Blocks: | |||
Eric Seidel (no email)
Reduce number of c-stack-based MatchFrames
I believe the credit for this idea goes to Darin, I heard about it through Maciej. Currently we allocate space for 16 match frames every time we call into match(). That's excessive, since very very very few regexps ever go beyond a few frames.
Supposedly darin tried this and found that reducing to 4 frames was a big speedup. I expect we could probably reduce to 8 frames w/o worrying too much about affecting real-world performance. Until bug 16185 is fixed, we always use 2 frames for every regexp. :(
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Eric Seidel (no email)
I just tested reducing FRAMES_ON_STACK to 8 and 4, and saw no change in SunSpider. Unless I missed something, we might just want to close this bug.
Gavin Barraclough
This is a proposed optimization for PCRE; we no longer use PCRE.