RESOLVED FIXED 169596
[JSC][FTL] FTL should support Arrayify
https://bugs.webkit.org/show_bug.cgi?id=169596
Summary [JSC][FTL] FTL should support Arrayify
Yusuke Suzuki
Reported 2017-03-14 01:01:44 PDT
https://arewefastyet.com/#machine=29&view=single&suite=six-speed&subtest=map-set-es5 Performance regression is shown due to FTL rejection for Arrayify node. I guess some recent change makes Arrayify in the above benchmark marked-reachable, and then FTL rejects it.
Attachments
Patch (11.56 KB, patch)
2017-04-20 06:29 PDT, Yusuke Suzuki
no flags
Patch (10.97 KB, patch)
2017-04-20 06:34 PDT, Yusuke Suzuki
saam: review+
Yusuke Suzuki
Comment 1 2017-03-14 01:06:08 PDT
But anyway, supporting Arrayify in FTL is nice because ArrayifyToStructure is already done in FTL. Maybe, I think recent checkArray fixup for `in` operation allows us to emit Arrayify in the above benchmark. Then, FTL rejects it.
Yusuke Suzuki
Comment 2 2017-04-20 06:29:38 PDT
Yusuke Suzuki
Comment 3 2017-04-20 06:34:39 PDT
Saam Barati
Comment 4 2017-04-20 12:58:40 PDT
Comment on attachment 307592 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307592&action=review r=me > Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:2761 > + auto isUnexpectedArray = [&](LValue cell) { style: I think we put a space between "]" and "("
Yusuke Suzuki
Comment 5 2017-04-20 19:05:53 PDT
Comment on attachment 307592 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307592&action=review Thanks! >> Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:2761 >> + auto isUnexpectedArray = [&](LValue cell) { > > style: I think we put a space between "]" and "(" Fixed.
Yusuke Suzuki
Comment 6 2017-04-20 19:08:34 PDT
Note You need to log in before you can comment on or make changes to this bug.