Summary: | [ftlopt] DFG bytecode parser should turn PutById with nothing but a Setter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||||||||||||||||||||||
Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||
Severity: | Normal | CC: | barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam | ||||||||||||||||||||||||||
Priority: | P2 | ||||||||||||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||||||||||||
Hardware: | All | ||||||||||||||||||||||||||||
OS: | All | ||||||||||||||||||||||||||||
Bug Depends on: | 133034, 133042, 133105 | ||||||||||||||||||||||||||||
Bug Blocks: | 129588, 133052 | ||||||||||||||||||||||||||||
Attachments: |
|
Description
Filip Pizlo
2014-03-25 16:31:00 PDT
Created attachment 231649 [details] it begins Saving my work while I work on one of the required bits in a separate bug: https://bugs.webkit.org/show_bug.cgi?id=133042 Created attachment 231661 [details]
work in progress
Created attachment 231662 [details]
done?
Created attachment 231671 [details]
more...
Created attachment 231672 [details]
omg it compiles
Created attachment 231713 [details]
"getting" there
Created attachment 231748 [details]
it's back to compiling
I'll go ahead and do just the getter part separately, in https://bugs.webkit.org/show_bug.cgi?id=133105 What is left is to extend this functionality to setters. Created attachment 234056 [details]
it begins (setter inlining)
Created attachment 234065 [details]
more!
Created attachment 234105 [details]
the code has been written
Created attachment 234139 [details]
it compiles
Created attachment 234193 [details]
the patch
Comment on attachment 234193 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=234193&action=review > Source/JavaScriptCore/tests/stress/weird-setter-counter.js:20 > + var o = {}; > + o.__defineSetter__("f", function(value) { While it logically shouldn't matter could you also add tests using {set f(value) { ... }} just to make sure we're not doing anything substantially different? (In reply to comment #15) > (From update of attachment 234193 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=234193&action=review > > > Source/JavaScriptCore/tests/stress/weird-setter-counter.js:20 > > + var o = {}; > > + o.__defineSetter__("f", function(value) { > > While it logically shouldn't matter could you also add tests using {set f(value) { ... }} just to make sure we're not doing anything substantially different? That makes sense. How about I just replicate weird-setter-counter in this way, since if I replicate all of the tests in this way then we'll have too much overlapping coverage. Landed in http://trac.webkit.org/changeset/170672 |