RESOLVED FIXED 141369
DFG should only have two mechanisms for describing effectfulness of nodes; previously there were three
https://bugs.webkit.org/show_bug.cgi?id=141369
Summary DFG should only have two mechanisms for describing effectfulness of nodes; pr...
Filip Pizlo
Reported 2015-02-08 11:00:06 PST
We previously used the NodeMightClobber and NodeClobbersWorld NodeFlags to describe effectfulness. Starting over a year ago, we introduced a more powerful mechanism - the DFG::clobberize() function. Now we only have one remaining client of the old NodeFlags, and everyone else uses DFG::clobberize(). We should get rid of those NodeFlags and finally switch everyone over to DFG::clobberize(). This means that going forward, there will only be two places where the effectfulness of a node has to be described: - DFG::clobberize() - DFG::AbstractInterpreter Unfortunately, the AbstractInterpreter has to duplicate the knowledge of effects, mostly because of efficiency concerns: calling into clobberize() from the abstract interpreter would slow things down too much. Also, AbstractInterpreter might still have a more precise model of effects in some places, particularly when dealing with structure transitions.
Attachments
the patch (24.57 KB, patch)
2015-02-08 11:05 PST, Filip Pizlo
no flags
the patch (24.57 KB, patch)
2015-02-08 11:28 PST, Filip Pizlo
msaboff: review+
Filip Pizlo
Comment 1 2015-02-08 11:05:00 PST
Created attachment 246243 [details] the patch
WebKit Commit Bot
Comment 2 2015-02-08 11:07:12 PST
Attachment 246243 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGClobberize.h:937: The parameter name "graph" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/dfg/DFGClobberize.h:937: The parameter name "node" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/dfg/DFGClobberize.cpp:64: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 3 in 8 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 3 2015-02-08 11:12:13 PST
(In reply to comment #2) > Attachment 246243 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/dfg/DFGClobberize.h:937: The parameter name > "graph" adds no information, so it should be removed. > [readability/parameter_name] [5] > ERROR: Source/JavaScriptCore/dfg/DFGClobberize.h:937: The parameter name > "node" adds no information, so it should be removed. > [readability/parameter_name] [5] Fixed locally. > ERROR: Source/JavaScriptCore/dfg/DFGClobberize.cpp:64: Place brace on its > own line for function definitions. [whitespace/braces] [4] > Total errors found: 3 in 8 files No, that's not our style for lambdas. > > > If any of these errors are false positives, please file a bug against > check-webkit-style.
Filip Pizlo
Comment 4 2015-02-08 11:28:50 PST
Created attachment 246245 [details] the patch
WebKit Commit Bot
Comment 5 2015-02-08 11:31:17 PST
Attachment 246245 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGClobberize.cpp:64: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 8 files If any of these errors are false positives, please file a bug against check-webkit-style.
Michael Saboff
Comment 6 2015-02-09 10:52:51 PST
Comment on attachment 246245 [details] the patch r=me
Filip Pizlo
Comment 7 2015-02-09 11:58:06 PST
Note You need to log in before you can comment on or make changes to this bug.