RESOLVED FIXED117967
fourthTier: DFG should support switch_string
https://bugs.webkit.org/show_bug.cgi?id=117967
Summary fourthTier: DFG should support switch_string
Filip Pizlo
Reported 2013-06-24 18:16:50 PDT
Patch forthcoming.
Attachments
work in progress (22.42 KB, patch)
2013-06-24 18:17 PDT, Filip Pizlo
no flags
work in progress (36.49 KB, patch)
2013-06-24 19:29 PDT, Filip Pizlo
no flags
the patch (76.28 KB, patch)
2013-06-25 13:40 PDT, Filip Pizlo
sam: review+
patch for landing (77.44 KB, patch)
2013-06-25 21:02 PDT, Filip Pizlo
no flags
Filip Pizlo
Comment 1 2013-06-24 18:17:29 PDT
Created attachment 205353 [details] work in progress
Filip Pizlo
Comment 2 2013-06-24 18:17:52 PDT
*** Bug 117861 has been marked as a duplicate of this bug. ***
Filip Pizlo
Comment 3 2013-06-24 19:29:00 PDT
Created attachment 205356 [details] work in progress
Filip Pizlo
Comment 4 2013-06-25 13:40:25 PDT
Created attachment 205421 [details] the patch
Filip Pizlo
Comment 5 2013-06-25 14:14:03 PDT
Comment on attachment 205421 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=205421&action=review > Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:4969 > + // == commonChars. Hence we know that it now must be >= minLength, i.e., that Should say: "Hence we know that it now must be > minLength, ..."
Sam Weinig
Comment 6 2013-06-25 17:20:39 PDT
Comment on attachment 205421 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=205421&action=review > Source/JavaScriptCore/dfg/DFGBinarySwitch.h:46 > +// Use this like so: > +// > +// BinarySwitch switch(valueReg, casesVector, BinarySwitch::Int32); > +// while (switch.advance(jit)) { > +// int value = switch.caseValue(); > +// unsigned index = switch.caseIndex(); // index into casesVector, above > +// ... // generate code for this case > +// } > +// switch.fallThrough().link(&jit); I think this could use a description of what a BinarySwitch is going to be used for.
Filip Pizlo
Comment 7 2013-06-25 17:51:39 PDT
(In reply to comment #6) > (From update of attachment 205421 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=205421&action=review > > > Source/JavaScriptCore/dfg/DFGBinarySwitch.h:46 > > +// Use this like so: > > +// > > +// BinarySwitch switch(valueReg, casesVector, BinarySwitch::Int32); > > +// while (switch.advance(jit)) { > > +// int value = switch.caseValue(); > > +// unsigned index = switch.caseIndex(); // index into casesVector, above > > +// ... // generate code for this case > > +// } > > +// switch.fallThrough().link(&jit); > > I think this could use a description of what a BinarySwitch is going to be used for. Will do!
Filip Pizlo
Comment 8 2013-06-25 21:02:32 PDT
Created attachment 205445 [details] patch for landing
Filip Pizlo
Comment 9 2013-06-25 21:17:44 PDT
Note You need to log in before you can comment on or make changes to this bug.