[webkit-reviews] review granted: [Bug 179835] The recursive tail call optimisation is wrong on closures : [Attachment 327645] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Nov 28 11:30:13 PST 2017
Saam Barati <sbarati at apple.com> has granted Robin Morisset
<rmorisset at apple.com>'s request for review:
Bug 179835: The recursive tail call optimisation is wrong on closures
https://bugs.webkit.org/show_bug.cgi?id=179835
Attachment 327645: Patch
https://bugs.webkit.org/attachment.cgi?id=327645&action=review
--- Comment #2 from Saam Barati <sbarati at apple.com> ---
Comment on attachment 327645
--> https://bugs.webkit.org/attachment.cgi?id=327645
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=327645&action=review
> Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1436
> + // Currently we cannot do this optimisation for closures. The problem is
that "emitFunctionChecks" which we use later is too coarse, only checking the
executable
> + // and not the value of captured variables.
> + if (callLinkStatus[0].isClosureCall())
> + return false;
How is this only a problem with this code an not all of inlining? Can you
elaborate? Is the bug if we constant fold loading a closure variable?
Can you add a semantic test for this and not just a benchmark?
More information about the webkit-reviews
mailing list