[Webkit-unassigned] [Bug 73402] Legacy JIT (JSVALUE32_64) doesn't map() on all opcodes, and does too many store

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Nov 30 11:08:11 PST 2011


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


Geoffrey Garen <ggaren at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ggaren at apple.com




--- Comment #15 from Geoffrey Garen <ggaren at apple.com>  2011-11-30 11:08:11 PST ---
I like the performance result here, but I think this is the wrong approach.

Our strategy is to use the DFG to track liveness and perform register allocation and dead store elimination. Over time, we want the DFG to get smarter, while the baseline execution engine remains constant or gets significantly simpler, thus improving execution times for one-time code and reducing our maintenance burden. If there's hot code that benefits from these optimizations, the best approach is to make sure the DFG compiles and optimizes that code.

These are your biggest speedups, which account for almost 100% of your total net speedup:
imaging-desaturate                  1093.3916+-0.6154    ^   867.8375+-10.8851      ^ definitely 1.2599x faster
math-cordic                   10.9853+-0.0648    ^     9.1645+-0.0417       ^ definitely 1.1987x faster
math-partial-sums             16.6687+-0.0315    ^    15.6784+-0.0348       ^ definitely 1.0632x faster

The best approach is to analyze why this code didn't execute in the DFG JIT, and fix that.

Historically, optimizations based on assumptions about bytecode virtual register allocation patterns have proven fragile. I'm very concerned that this new liveness tracking framework will introduce subtle bugs and a not-so-subtle maintenance burden.

To justify this risk / burden, I'd like to see evidence that there's some essential reason the DFG should not compile and optimize this code. Otherwise, please solve this performance problem by ensuring that the DFG compiles and optimizes this code.

-- 
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