RESOLVED FIXED 159687
OSR entry into DFG has problems with lexical scoping
https://bugs.webkit.org/show_bug.cgi?id=159687
Summary OSR entry into DFG has problems with lexical scoping
Filip Pizlo
Reported 2016-07-12 14:10:41 PDT
Patch forthcoming.
Attachments
the patch (12.09 KB, patch)
2016-07-12 14:23 PDT, Filip Pizlo
saam: review+
performance (78.51 KB, text/plain)
2016-07-12 15:25 PDT, Filip Pizlo
no flags
Filip Pizlo
Comment 1 2016-07-12 14:23:10 PDT
Created attachment 283448 [details] the patch I still need to benchmark this, but I welcome feedback.
Saam Barati
Comment 2 2016-07-12 14:46:34 PDT
Comment on attachment 283448 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=283448&action=review r=me > Source/JavaScriptCore/ChangeLog:48 > + This is an enormous speed-up on microbenchmarks that use lexical scoping and have some crazy > + put_by_id in the lead-up to the hot loop. Nice. Can we convert some other well known benchmark that tiers up in loops to use "let"?
Filip Pizlo
Comment 3 2016-07-12 14:50:09 PDT
(In reply to comment #2) > Comment on attachment 283448 [details] > not benchmarked patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=283448&action=review > > r=me > > > Source/JavaScriptCore/ChangeLog:48 > > + This is an enormous speed-up on microbenchmarks that use lexical scoping and have some crazy > > + put_by_id in the lead-up to the hot loop. > > Nice. > Can we convert some other well known benchmark that tiers up in loops to use > "let"? We could but not all users of OSR entry need this particular mitigation, and I don't remember which ones do. The microbenchmark attached to this patch seems pretty good though! It precisely illustrates the issue in tip of tree.
Filip Pizlo
Comment 4 2016-07-12 15:25:19 PDT
Created attachment 283459 [details] performance
Filip Pizlo
Comment 5 2016-07-12 15:25:59 PDT
Comment on attachment 283448 [details] the patch Benchmarks show perf neutrality, except for the strict-osr-entry microbenchmark, which speeds up a ton.
Filip Pizlo
Comment 6 2016-07-18 11:56:52 PDT
Note You need to log in before you can comment on or make changes to this bug.