Bug 109489 - DFG LogicalNot/Branch peephole removal and inversion ignores the possibility of things exiting
Summary: DFG LogicalNot/Branch peephole removal and inversion ignores the possibility ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-11 14:23 PST by Filip Pizlo
Modified: 2013-02-13 13:02 PST (History)
11 users (show)

See Also:


Attachments
the wrong way (20.42 KB, patch)
2013-02-12 23:23 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
another wrong way (6.27 KB, patch)
2013-02-12 23:49 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (6.06 KB, patch)
2013-02-13 00:03 PST, Filip Pizlo
mhahnenberg: review+
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2013-02-11 14:23:28 PST
The solution is to perform this transformation late, when we know that the LogicalNot cannot be used by OSR.
Comment 1 Filip Pizlo 2013-02-12 23:23:03 PST
Created attachment 188019 [details]
the wrong way

I started by assuming that we should just introduce CompareNotEq and friends.  I think this is not a good idea.

I will do it a better way.
Comment 2 Filip Pizlo 2013-02-12 23:49:00 PST
Created attachment 188024 [details]
another wrong way
Comment 3 Filip Pizlo 2013-02-13 00:03:49 PST
Created attachment 188027 [details]
the patch

I went for the brute force way.  Still need to test if this is OK for performance...

I'm also still running tests, will have expectations file soon.
Comment 4 WebKit Review Bot 2013-02-13 01:15:58 PST
Comment on attachment 188027 [details]
the patch

Attachment 188027 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16530028

New failing tests:
fast/js/dfg-branch-logical-not-peephole-around-osr-exit.html
Comment 5 Build Bot 2013-02-13 03:50:31 PST
Comment on attachment 188027 [details]
the patch

Attachment 188027 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16454796

New failing tests:
fast/js/dfg-branch-logical-not-peephole-around-osr-exit.html
Comment 6 Mark Hahnenberg 2013-02-13 11:55:38 PST
Comment on attachment 188027 [details]
the patch

r=me with test expectations.
Comment 7 Filip Pizlo 2013-02-13 13:02:08 PST
Landed in http://trac.webkit.org/changeset/142779