Bug 154269 - FTL should support CompareEq(String:, String:)
Summary: FTL should support CompareEq(String:, String:)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 154266
  Show dependency treegraph
 
Reported: 2016-02-15 16:56 PST by Filip Pizlo
Modified: 2016-02-16 21:30 PST (History)
8 users (show)

See Also:


Attachments
voila (6.45 KB, patch)
2016-02-16 13:31 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
maybe the patch (11.41 KB, patch)
2016-02-16 14:31 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (11.75 KB, patch)
2016-02-16 15:54 PST, Filip Pizlo
benjamin: review+
Details | Formatted Diff | Diff
rebased patch (11.74 KB, patch)
2016-02-16 20:28 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2016-02-15 16:56:38 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2016-02-16 13:31:14 PST
Created attachment 271478 [details]
voila

Haven't tried it yet
Comment 2 Filip Pizlo 2016-02-16 14:31:14 PST
Created attachment 271484 [details]
maybe the patch

Still running tests.
Comment 3 Filip Pizlo 2016-02-16 15:54:13 PST
Created attachment 271500 [details]
the patch
Comment 4 Benjamin Poulain 2016-02-16 18:26:41 PST
Comment on attachment 271500 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=271500&action=review

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7739
> +        m_out.branch(m_out.notNull(left), usually(leftReadyCase), rarely(slowCase));
> +
> +        m_out.appendTo(leftReadyCase, rightReadyCase);

Do you also need those checks for StringIdent?
Comment 5 Filip Pizlo 2016-02-16 18:32:23 PST
Comment on attachment 271500 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=271500&action=review

>> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7739
>> +        m_out.appendTo(leftReadyCase, rightReadyCase);
> 
> Do you also need those checks for StringIdent?

StringIdent is handled elsewhere.  I believe that speculates that left and right are resolved, as opposed to this, which handles that on the slow path.  But no matter how it does it, it's unrelated.
Comment 6 Filip Pizlo 2016-02-16 20:28:01 PST
Created attachment 271523 [details]
rebased patch
Comment 7 Filip Pizlo 2016-02-16 21:30:30 PST
Landed in http://trac.webkit.org/changeset/196685