RESOLVED FIXED 117677
fourthTier: Add CFG simplification for Switch
https://bugs.webkit.org/show_bug.cgi?id=117677
Summary fourthTier: Add CFG simplification for Switch
Filip Pizlo
Reported 2013-06-15 17:11:06 PDT
Patch forthcoming.
Attachments
the patch (13.74 KB, patch)
2013-06-15 17:12 PDT, Filip Pizlo
eflews.bot: commit-queue-
the patch (13.80 KB, patch)
2013-06-15 17:28 PDT, Filip Pizlo
eflews.bot: commit-queue-
the ptach (19.98 KB, patch)
2013-06-15 20:22 PDT, Filip Pizlo
mhahnenberg: review+
eflews.bot: commit-queue-
Filip Pizlo
Comment 1 2013-06-15 17:12:01 PDT
Created attachment 204777 [details] the patch
WebKit Commit Bot
Comment 2 2013-06-15 17:13:36 PDT
Attachment 204777 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp', u'Source/JavaScriptCore/runtime/JSCJSValue.h', u'Source/JavaScriptCore/runtime/JSCJSValueInlines.h']" exit_code: 1 Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp:313: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp:320: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp:327: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] Total errors found: 3 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
EFL EWS Bot
Comment 3 2013-06-15 17:16:47 PDT
Early Warning System Bot
Comment 4 2013-06-15 17:18:02 PDT
EFL EWS Bot
Comment 5 2013-06-15 17:18:35 PDT
Comment on attachment 204777 [details] the patch Attachment 204777 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/873251
Early Warning System Bot
Comment 6 2013-06-15 17:19:19 PDT
Comment on attachment 204777 [details] the patch Attachment 204777 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/873249
Filip Pizlo
Comment 7 2013-06-15 17:28:02 PDT
Created attachment 204778 [details] the patch Fix style
EFL EWS Bot
Comment 8 2013-06-15 17:32:02 PDT
EFL EWS Bot
Comment 9 2013-06-15 17:32:22 PDT
Comment on attachment 204778 [details] the patch Attachment 204778 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/855477
Early Warning System Bot
Comment 10 2013-06-15 17:32:23 PDT
Early Warning System Bot
Comment 11 2013-06-15 17:34:23 PDT
Comment on attachment 204778 [details] the patch Attachment 204778 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/855478
Build Bot
Comment 12 2013-06-15 17:55:41 PDT
Comment on attachment 204778 [details] the patch Attachment 204778 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/920181
Build Bot
Comment 13 2013-06-15 18:02:52 PDT
Build Bot
Comment 14 2013-06-15 18:05:12 PDT
Sam Weinig
Comment 15 2013-06-15 18:59:17 PDT
It would be nice for the ChangeLog to have a bit of information in it, like why this is a good idea, and if it speeds anything up.
Filip Pizlo
Comment 16 2013-06-15 19:04:04 PDT
(In reply to comment #15) > It would be nice for the ChangeLog to have a bit of information in it, like why this is a good idea, and if it speeds anything up. It's for completeness. It only speeds up a microbenchmark at this point. But broadly, we want all control constructs to be known to the CFG simplifier. I'll add that text to the ChangeLog.
Filip Pizlo
Comment 17 2013-06-15 20:22:47 PDT
Created attachment 204780 [details] the ptach And now with tests.
EFL EWS Bot
Comment 18 2013-06-15 20:28:40 PDT
Early Warning System Bot
Comment 19 2013-06-15 20:30:33 PDT
EFL EWS Bot
Comment 20 2013-06-15 20:32:31 PDT
Comment on attachment 204780 [details] the ptach Attachment 204780 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/902228
Early Warning System Bot
Comment 21 2013-06-15 20:32:58 PDT
Comment on attachment 204780 [details] the ptach Attachment 204780 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/920203
Build Bot
Comment 22 2013-06-15 20:46:35 PDT
Comment on attachment 204780 [details] the ptach Attachment 204780 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/920201
Build Bot
Comment 23 2013-06-15 20:58:42 PDT
Build Bot
Comment 24 2013-06-15 20:58:58 PDT
Mark Hahnenberg
Comment 25 2013-06-16 16:07:56 PDT
Comment on attachment 204780 [details] the ptach View in context: https://bugs.webkit.org/attachment.cgi?id=204780&action=review r=me > Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp:190 > + for (unsigned i = data->cases.size(); found == FalseTriState && i--;) { What happens if there are multiple case statements with the same constants?
Filip Pizlo
Comment 26 2013-06-17 09:18:51 PDT
(In reply to comment #25) > (From update of attachment 204780 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=204780&action=review > > r=me > > > Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp:190 > > + for (unsigned i = data->cases.size(); found == FalseTriState && i--;) { > > What happens if there are multiple case statements with the same constants? Won't happen since the bytecode's jump tables never have duplicates. I'll add a comment at the declaration of SwitchCase.
Filip Pizlo
Comment 27 2013-06-17 09:22:59 PDT
Note You need to log in before you can comment on or make changes to this bug.