[webkit-reviews] review denied: [Bug 63505] DFG JIT lacks array.length caching : [Attachment 98973] the patch (fix build)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 28 15:45:48 PDT 2011


Gavin Barraclough <barraclough at apple.com> has denied Filip Pizlo
<fpizlo at apple.com>'s request for review:
Bug 63505: DFG JIT lacks array.length caching
https://bugs.webkit.org/show_bug.cgi?id=63505

Attachment 98973: the patch (fix build)
https://bugs.webkit.org/attachment.cgi?id=98973&action=review

------- Additional Comments from Gavin Barraclough <barraclough at apple.com>
Hey Filip, 2 issues.

First, I'd like like to keep the JIT implementation separate from the C helper
functions, so the code that performs JIT generation shouldn't be in
DFGOperations - that's really what the file DFGRepatch is for.	(The stub
generation could even be in a new DFGStubs file if we wished, but DFGRepatch
seems right for patching the instruction stream).  Please move the new code in
tryCacheGetByID out into a separate function.

Second, this patch introduces a bunch of new code to allow us to overwrite the
instruction stream, which is a little messy.  I'm okay with us doing this
provided that there is a benefit to doing so, but it seems like a bad idea to
introduce this complexity if it's not a performance win, and I think you need
to prove this.	I think you need to gather performance numbers with this patch,
and I think you need to also roll a version of this optimization that just
patches the offset of the branch instruction (as the old JIT does), and attach
a performance comparison (you can get this by running sun spider in both forms,
cat'ing the results to files, then using the sunspider-compare-results script
passing the two results files as arguments).

Hope this all sounds reasonable.


More information about the webkit-reviews mailing list