Bug 159942 - HasIndexedProperty clobberize rule is wrong for Array::ForceOSRExit
Summary: HasIndexedProperty clobberize rule is wrong for Array::ForceOSRExit
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-07-19 13:15 PDT by Saam Barati
Modified: 2016-10-08 11:34 PDT (History)
12 users (show)

See Also:


Attachments
patch (1.53 KB, patch)
2016-09-30 15:07 PDT, Saam Barati
fpizlo: review+
Details | Formatted Diff | Diff
patch for landing (1.50 KB, patch)
2016-09-30 15:15 PDT, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2016-07-19 13:15:05 PDT
...
Comment 1 Saam Barati 2016-07-19 13:15:45 PDT
<rdar://problem/27328836>
Comment 2 Saam Barati 2016-09-30 15:07:38 PDT
Created attachment 290393 [details]
patch
Comment 3 Filip Pizlo 2016-09-30 15:09:04 PDT
Comment on attachment 290393 [details]
patch

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

Ouch.  R=me.

> Source/JavaScriptCore/dfg/DFGClobberize.h:267
> +        if (mode.type() == Array::ForceExit) {
> +            write(SideState);
> +            return;
> +        }
> +

Why didn't you put this in the switch statement, below?
Comment 4 Saam Barati 2016-09-30 15:15:03 PDT
Created attachment 290397 [details]
patch for landing
Comment 5 Saam Barati 2016-09-30 17:58:11 PDT
I'm going to try to find a repro test before landing, but it might be tricky
Comment 6 Saam Barati 2016-10-05 17:18:21 PDT
(In reply to comment #5)
> I'm going to try to find a repro test before landing, but it might be tricky

This is difficult to do.
Comment 7 Saam Barati 2016-10-05 17:19:33 PDT
(In reply to comment #6)
> (In reply to comment #5)
> > I'm going to try to find a repro test before landing, but it might be tricky
> 
> This is difficult to do.

Basically, we need to profile something as contiguousInbounds, and then somehow not have a prediction for either the base or the index.
Comment 8 Saam Barati 2016-10-08 11:11:33 PDT
Ok, I'm going to give up on trying to get this to reproduce on ToT. It's pretty clear what the bug is, but it's probably quite difficult to write a program that exhibits the bug. Anyways, I'm going to commit this change for now and then if I find a way to write a test that exhibits the bug, I'll check in the test later.
Comment 9 WebKit Commit Bot 2016-10-08 11:34:44 PDT
Comment on attachment 290397 [details]
patch for landing

Clearing flags on attachment: 290397

Committed r206955: <http://trac.webkit.org/changeset/206955>
Comment 10 WebKit Commit Bot 2016-10-08 11:34:49 PDT
All reviewed patches have been landed.  Closing bug.