Open sourcing JDK 9 ARM ports

Bob Vandette bob.vandette at oracle.com
Tue Aug 23 20:09:15 UTC 2016


Thanks for all of your responses.  I had a feeling I’d get some responses
like this.   I didn’t know how far along the C1 32-bit port was so it was difficult 
for me to gauge Azul’s response.  I’ve been pushing to open up these sources 
for quite some time.  

I agree that in the medium term it makes no sense to have two different 32/64 
bit ARM ports in OpenJDK.  One of the main reasons for opening this up was 
to try to avoid this.  I was hoping that by focusing on JDK9, that we could
all rally around our implementation for both 32 and 64 bit while allowing the
current aarch32 port to focus on JDK 8.  We have no intention of opening
up our JDK 8 ARM ports.

I also agree that it’s not real practical to completely merge these two ports.  
We might be able to pick up a few improvements such as intrinsics from one 
or the other but these ports are quite different.  We chose, for example, to
share as much of the ARM assembler for both 32 and 64 within the same
hotspot/src/cpu/arm directory in order to reduce the overhead of adding new
features to all architectures.

It’s going to take a bit of time before we could be in a position to commit our
sources to any forest.  We need to filter out any sources that we are not open 
sourcing, move the sources to open directories, fix up the build system, make 
sure it builds and correct copyright statements.  Unless we are all in agreement
that these sources will end up being used for the aarch32 port project, I’m also not
sure that’s the best place to host them.  

Bob.


> On Aug 23, 2016, at 3:10 PM, Andrew Haley <aph at redhat.com> wrote:
> 
> On 23/08/16 15:00, Bob Vandette wrote:
>> As the Java SE Mobile and Embedded Lead at Oracle, I'm pleased 
>> to be able to let you know about Oracle's plans to open source 
>> its Linux ARM 32 and 64 bit ports of Oracle Java SE for JDK 9 
>> in the OpenJDK Community.
> 
> With my "community representative on the Governing Board" hat on:
> 
> Of course I welcome this announcement.  I've been pressing for more of
> Oracle's software to be open sourced for many years, so of course I
> can't complain when it happens.
> 
> With my "OpenJDK project lead" hat on:
> 
> However, there are going to be substantial practical problems handling
> this donation.  The OpenJDK AArch64 port is well-established, performs
> well, and is ready for release as part of OpenJDK 9.  I don't expect
> that to change significantly: the OpenJDK 9 tree is stabilizing for
> release, and we're past Feature Complete.  On the other hand, the
> AArch32 port is very new, and the C1 interpreter is just about to be
> contributed by Azul.  (If I were Azul I'd be very irritated by this
> news after they've put in a lot of work, but I'll leave any more
> comments about that to them.)
> 
> I do not believe that it makes any sense in the long term (or the
> medium term) to have two active ports to the same architecture in the
> OpenJDK source tree.  It would significantly dilute community effort,
> and it would be extremely unhealthy to have two groups competing with
> each other.  And there are other issues: for example, which would be
> the default port to build?  Fracturing the ARM OpenJDK community would
> be a disaster.
> 
> So, we can decide to adopt one port or another wholesale for the
> future or we can try to merge the best bits.  Merging would probably
> be a big effort, and I'm not sure we have the people we'd need to do
> it.
> 
>> In addition, our implementation provides the ability to build 
>> Linux ARM interpreter runtimes statically for platforms that 
>> do not support dynamic code generation.
> 
> That's a nice feature.
> 
>> There are a few potential challenges ahead if you all agree that it's 
>> a good idea to contribute our implementation to the Aarch32 project.
>> 
>>  1. Our code provides both a 32-bit and a 64-bit implementation.
>>  2. Currently there are no Oracle Commiters/Reviewers in this Project. 
> 
> Ah.
> 
>>  3. Our development is focused solely on JDK 9 rather than JDK 8.
>> 
>> I look forward to your feedback on how to best move ahead.
> 
> Please create a source tree in the Aarch32 project and commit all the
> code to that.  When we can all see the code we'll be in a much better
> position to think about what to do next.
> 
> Thanks,
> 
> Andrew.



More information about the aarch32-port-dev mailing list