RESOLVED FIXED108093
Static size inference for JavaScript objects
https://bugs.webkit.org/show_bug.cgi?id=108093
Summary Static size inference for JavaScript objects
Geoffrey Garen
Reported 2013-01-28 11:02:39 PST
Static size inference for JavaScript objects
Attachments
Patch (150.52 KB, patch)
2013-01-28 13:02 PST, Geoffrey Garen
no flags
Patch (151.29 KB, patch)
2013-01-28 17:55 PST, Geoffrey Garen
no flags
Patch (152.04 KB, patch)
2013-01-28 19:47 PST, Geoffrey Garen
no flags
Patch (152.62 KB, patch)
2013-01-28 21:35 PST, Geoffrey Garen
ggaren: review+
Benchmark results (22.91 KB, text/plain)
2013-01-29 13:34 PST, Geoffrey Garen
no flags
Geoffrey Garen
Comment 1 2013-01-28 13:02:29 PST
Early Warning System Bot
Comment 2 2013-01-28 13:11:38 PST
Early Warning System Bot
Comment 3 2013-01-28 13:12:11 PST
Filip Pizlo
Comment 4 2013-01-28 13:16:09 PST
Comment on attachment 185041 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=185041&action=review > Source/JavaScriptCore/ChangeLog:128 > + (JSC::DFG::AbstractState::execute): Upated for rename. Typo "Upated" > Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:757 > +UnlinkedValueProfile BytecodeGenerator::emitProfiledOpcode(int dst, OpcodeID opcodeID) > { > + m_staticPropertyAnalyzer.kill(dst); Seems like it would be good to change the name of emitProfiledOpcode, since it does things to staticPropertyAnalyzer now. Not sure what a good name would be. > Source/JavaScriptCore/bytecompiler/StaticPropertyAnalyzer.h:38 > +// Used for flow-insensitive static analysis of the number of properties assigned to an object. > +class StaticPropertyAnalyzer { > +public: > + StaticPropertyAnalyzer(Vector<UnlinkedInstruction>*); > + Is it the case that this analysis can be wrong, and even if it is, the program will execute "correctly" albeit possibly less efficiently? If so, then you should add a comment about this. It's useful to be able to remember which analyses have to be sound at any cost (DFG::AbstractState) and which can be wrong (this one).
Build Bot
Comment 5 2013-01-28 13:28:47 PST
Build Bot
Comment 6 2013-01-28 14:13:14 PST
Comment on attachment 185041 [details] Patch Attachment 185041 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://queues.webkit.org/results/16180219
EFL EWS Bot
Comment 7 2013-01-28 14:59:36 PST
Build Bot
Comment 8 2013-01-28 17:10:33 PST
Geoffrey Garen
Comment 9 2013-01-28 17:47:23 PST
> Typo "Upated" Fixed. > Seems like it would be good to change the name of emitProfiledOpcode, since it does things to staticPropertyAnalyzer now. Not sure what a good name would be. This convinced me that I should just use a separate helper function instead. The fact that it corresponds to place where we call emitProfiledOpcode is just a coincidence, I guess. > Is it the case that this analysis can be wrong, and even if it is, the program will execute "correctly" albeit possibly less efficiently? Yes. > If so, then you should add a comment about this. Okeedokee. Looking at the EWS failures now...
Geoffrey Garen
Comment 10 2013-01-28 17:55:50 PST
Build Bot
Comment 11 2013-01-28 18:23:20 PST
Geoffrey Garen
Comment 12 2013-01-28 19:47:27 PST
Build Bot
Comment 13 2013-01-28 21:19:49 PST
Geoffrey Garen
Comment 14 2013-01-28 21:35:58 PST
Geoffrey Garen
Comment 15 2013-01-28 21:49:24 PST
Geoffrey Garen
Comment 16 2013-01-29 13:33:49 PST
Comment on attachment 185149 [details] Patch Phil Pizlo reviewed this.
Geoffrey Garen
Comment 17 2013-01-29 13:34:14 PST
Created attachment 185298 [details] Benchmark results
Note You need to log in before you can comment on or make changes to this bug.