Bug 147849 - jsc-tailcall: REGRESSION: DFGByteCodeParser fails when a tail call is inside a ternary
Summary: jsc-tailcall: REGRESSION: DFGByteCodeParser fails when a tail call is inside ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Basile Clement
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-10 15:45 PDT by Basile Clement
Modified: 2015-09-14 10:59 PDT (History)
1 user (show)

See Also:


Attachments
Patch (3.36 KB, patch)
2015-08-11 12:37 PDT, Basile Clement
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Basile Clement 2015-08-10 15:45:53 PDT
DFGByteCodeParser erroneously assumes that a tail call is always followed by a return. But it can also be followed by a jump to a return in return c ? f() : 0;.
Comment 1 Basile Clement 2015-08-11 12:37:09 PDT
Created attachment 258736 [details]
Patch
Comment 2 Basile Clement 2015-08-11 12:44:11 PDT
I guess we should make the tests in tail-call-recognize.js run enough to be compiled in all tiers.
Comment 3 Michael Saboff 2015-08-11 13:02:41 PDT
Comment on attachment 258736 [details]
Patch

r=me
Comment 4 Basile Clement 2015-08-11 13:09:32 PDT
Committed r188282 <http://trac.webkit.org/changeset/188282>.
Comment 5 Csaba Osztrogonác 2015-09-14 10:59:11 PDT
Comment on attachment 258736 [details]
Patch

Cleared review? from attachment 258736 [details] so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).