[Webkit-unassigned] [Bug 85721] DFG should support reflective arguments access

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun May 6 22:48:09 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=85721





--- Comment #10 from Filip Pizlo <fpizlo at apple.com>  2012-05-06 22:48:09 PST ---
(In reply to comment #9)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > (In reply to comment #5)
> > > > (In reply to comment #4)
> > > > > (From update of attachment 140415 [details] [details] [details] [details] [details])
> > > > > View in context: https://bugs.webkit.org/attachment.cgi?id=140415&action=review
> > > > > 
> > > > > > Source/JavaScriptCore/runtime/Arguments.h:53
> > > > > > -        bool overrodeLength : 1;
> > > > > > +        bool overrodeLength; // make this a full byte to make it easy to test from the JIT.
> > > > > >          bool overrodeCallee : 1;
> > > > > >          bool overrodeCaller : 1;
> > > > > >          bool isStrictMode : 1;
> > > > > 
> > > > > Is keeping the rest of these bit fields actually saving space?
> > > > 
> > > > Good point. I will change.
> > > 
> > > It occurs to me that the dfg uses a structure check for arguments -- what happens if we made overriding the length change the structure -> then we'd just have the single structure check and all would be well.  Not suggesting that change for this patch though.
> > 
> > We could do that.
> > 
> > Or we could have the CFA infer that you're accessing your own arguments, and then we don't even have to go down the code path that accesses the Arguments object.  That's my next project.
> 
> Although you'll still need to do deleted value checks i think if the arguments object is present.

But that ought to be my slow path, right?

> 
> > 
> > This entire GetByVal/PutByVal code path is there to ensure that even if the CFA fails to prove whatever we want it to prove, we still run at OK speed. I wouldn't want to put in real effort to optimize this fall-back path beyond what's there in this patch.
> 
> Fair enough.  r=me

Thanks!

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list