2010/4/9 Mouse <ne...@marvell.com> > Hi all, > We have been working on register allocation (RA) and expression code > generation enhancements to the ARM backend. > > The RA work was based on the x64 code. > Our current tests show about 10% performance improvement on the V8 > benchmarks. >
Sounds nice. As you can probably see we have started our own register allocation for ARM. We haven't based it directly on the x64 code because we found that to be a little heavyweight in terms of compilation speed. For an ARM browser that can quickly be a problem because a lot of JS code is compiled and then run only 0 or 1 times. I would like to contribute it back to mainline V8 development, may I > ask how to proceed? > There's a good guide at http://www.chromium.org/developers/contributing-code Most of this applies equally to V8, in particular the Corporate Contributor License Agreement <http://code.google.com/legal/corporate-cla-v1.0.html> is going to be necessary for you if your company hasn't already signed it. We welcome small incremental changes, relative to the bleeding edge version of the day, uploaded to the codereview (also called gcl or Rietveld) tool. Although it can be hard to create a big change from a lot of small ones we find it is the only way to keep the process manageable. Code reviews that are too big are hard to review, hard to integrate and risk wasting time by going down a path that we can't accept. It is important that all the tests run on all platforms (run the ARM version with tools/test.py --snapshot --mode=debug --simulator=arm -j8) and that the tools/presubmit.py script reports no errors. You need to install the open source cpplint.py tool for this to work. Please try to match the style of the existing code in the files you change, since the lint tool doesn't catch all formatting issues. Looking forward to working with you! -- Erik Corry -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev