RESOLVED FIXED 133105
[ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
https://bugs.webkit.org/show_bug.cgi?id=133105
Summary [ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter st...
Filip Pizlo
Reported 2014-05-19 20:52:57 PDT
Patch forthcoming.
Attachments
work in progress (87.16 KB, patch)
2014-05-19 20:55 PDT, Filip Pizlo
no flags
the patch (97.03 KB, patch)
2014-05-20 10:46 PDT, Filip Pizlo
msaboff: review+
Filip Pizlo
Comment 1 2014-05-19 20:55:18 PDT
Created attachment 231750 [details] work in progress
Filip Pizlo
Comment 2 2014-05-20 10:46:49 PDT
Created attachment 231776 [details] the patch
Michael Saboff
Comment 3 2014-05-20 12:02:40 PDT
Comment on attachment 231776 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=231776&action=review r=me provided you address the two issues raised in GetByIdStatus::computeForStubInfo(). > Source/JavaScriptCore/bytecode/GetByIdStatus.cpp:127 > + State takesSlowPath = TakesSlowPath; The name takesSlowPath is confusing since it can have the value MakesCalls. > Source/JavaScriptCore/bytecode/GetByIdStatus.cpp:132 > + for (unsigned i = 0; i < list->size(); ++i) > + takesSlowPath = MakesCalls; Why is this a loop? Are you missing "if (list->at(i).doesCalls())"? > Source/JavaScriptCore/jit/JIT.h:245 > + Extraneous space - delete
Filip Pizlo
Comment 4 2014-05-20 12:07:48 PDT
(In reply to comment #3) > (From update of attachment 231776 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=231776&action=review > > r=me provided you address the two issues raised in GetByIdStatus::computeForStubInfo(). > > > Source/JavaScriptCore/bytecode/GetByIdStatus.cpp:127 > > + State takesSlowPath = TakesSlowPath; > > The name takesSlowPath is confusing since it can have the value MakesCalls. Renamed to slowPathState. > > > Source/JavaScriptCore/bytecode/GetByIdStatus.cpp:132 > > + for (unsigned i = 0; i < list->size(); ++i) > > + takesSlowPath = MakesCalls; > > Why is this a loop? Are you missing "if (list->at(i).doesCalls())"? Yes! Thanks! > > > Source/JavaScriptCore/jit/JIT.h:245 > > + > > Extraneous space - delete Removed
Filip Pizlo
Comment 5 2014-05-20 17:45:56 PDT
Note You need to log in before you can comment on or make changes to this bug.