Bug 94201 - Structure check hoisting should be less expensive
Summary: Structure check hoisting should be less expensive
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
Depends on:
Blocks: 94205
  Show dependency treegraph
Reported: 2012-08-16 00:52 PDT by Filip Pizlo
Modified: 2012-08-16 16:18 PDT (History)
7 users (show)

See Also:

the patch (8.27 KB, patch)
2012-08-16 00:55 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (8.26 KB, patch)
2012-08-16 01:03 PDT, Filip Pizlo
mhahnenberg: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2012-08-16 00:52:46 PDT
Currently, structure check hoisting runs after the DFG optimization fixpoint.  But when it modifies the IR (which is currently almost always, since array checks have been turned into structure checks), it requires the CFA to be rerun, outside of the fixpoint.  Also, structure check hoisting requires that the post-fixpoint CSE fixes up redundant GetLocals introduced by hoisting.

But there's no reason why structure check hoisting can't run before the optimization fixpoint.  There's also no reason why structure check hoisting can't just clean up after itself to eliminate the need for CSE to worry about redundant GetLocals on non-captured variables.
Comment 1 Filip Pizlo 2012-08-16 00:55:46 PDT
Created attachment 158739 [details]
the patch
Comment 2 WebKit Review Bot 2012-08-16 00:58:48 PDT
Attachment 158739 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1
Source/JavaScriptCore/dfg/DFGGraph.h:635:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 6 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Filip Pizlo 2012-08-16 01:03:37 PDT
Created attachment 158742 [details]
the patch

Fix style.
Comment 4 Mark Hahnenberg 2012-08-16 12:25:37 PDT
Comment on attachment 158742 [details]
the patch

Comment 5 Filip Pizlo 2012-08-16 16:18:04 PDT
Landed in http://trac.webkit.org/changeset/125823