Bug 15998 - Abstract much of RMATCH into MatchStack functions
Summary: Abstract much of RMATCH into MatchStack functions
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Eric Seidel (no email)
URL:
Keywords:
Depends on: 15996
Blocks:
  Show dependency treegraph
 
Reported: 2007-11-15 03:25 PST by Eric Seidel (no email)
Modified: 2007-11-15 16:15 PST (History)
0 users

See Also:


Attachments
abstract RMATCH into MatchStack functions (1.78 KB, patch)
2007-11-15 03:25 PST, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
abstract RMATCH into MatchStack functions (8.76 KB, patch)
2007-11-15 03:26 PST, Eric Seidel (no email)
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2007-11-15 03:25:03 PST
Abstract much of RMATCH into MatchStack functions

I'm preparing to further cleanup "recursion" in match(), starting by making RMATCH() much much smaller.  Currently I'm inlining the frame management (since that's how it was before).  I'm not sure that will be a win in the end.

This patch actually caused my SunSpider results to stabilize, showing no slowdowns, a 9.3% improvement in regex-dna, and a 1.0% win over all (combined improvements from this and bug 15996)
Comment 1 Eric Seidel (no email) 2007-11-15 03:25:58 PST
Created attachment 17290 [details]
abstract RMATCH into MatchStack functions
Comment 2 Eric Seidel (no email) 2007-11-15 03:26:33 PST
Created attachment 17291 [details]
abstract RMATCH into MatchStack functions
Comment 3 Sam Weinig 2007-11-15 10:51:36 PST
Comment on attachment 17291 [details]
abstract RMATCH into MatchStack functions

The typedef should not be necessary in c++.
+typedef struct matchframe {

nor should this explicit struct
+  struct matchframe* prevframe;

r=me.
Comment 4 Eric Seidel (no email) 2007-11-15 16:15:02 PST
Landed.