RFR: 8164652: c1 port

Edward Nevill edward.nevill at gmail.com
Fri Sep 2 11:01:52 UTC 2016

Hi Andrey,

Now that I have got back from holiday I have had a chance to try this.

The following is what I tried.

- Initial C1 build.
- Rebuild using C1 above
- Build 'core' to check this still works
- Run jtreg hotspot and langtools
- Build a fastdebug version
- Run jtreg hotspot and langtools using the fastdebug vsn

The only problem I noticed was there were a couple of assertion
failures running jtreg hotspot with the fastdebug version.

Apart from that it seems pretty solid.

I also did some benchmarking. I am not going to disclose the results on
the list, but I was very pleased with the results, >> 50X performance
improvement over template interpreter.

If there are no objections I will tag the current state of the tree and
push this within the next day or so. Do you have a list of all the
contributors at Azul so I can add them to the commit?

Thanks for this. This will make a lot of people very happy.


On Fri, 2016-08-26 at 13:29 +0300, Andrey Petushkov wrote:
> Dear All,
> Please consider the following patch which brings the port of C1
> compiler to the aarch32 platform. The effort is done by Azul Systems
> and takes the roots from AArch64 implementation.
> There are very few cosmetic changes which are not directly related to
> the port. In addition there is a change to the behaviour of branch
> emission logic. It does not emit far branch even for occasions
> subject to relocation (unless far_branches()). Of course the proper
> implementation of the patching code is in place
> The webrev is here http://cr.openjdk.java.net/~apetushkov/8164652/web
> rev/ <http://cr.openjdk.java.net/~apetushkov/8164652/webrev/>
> Regards,
> Andrey

More information about the aarch32-port-dev mailing list