OpenJDK7 port to the little endian PowerPC64

Alexander Smundak asmundak at google.com
Tue Mar 4 11:29:11 PST 2014


The second revision of the Hotspot patch to support little-endian PowerPC64
running Linux has been uploaded to
http://cr.openjdk.java.net/~rasbold/ppc64le/hotspot/webrev.01
Compared to the previous revision, this one is much smaller as the patch to
support ELFv2 ABI has been submitted (thanks, Goetz!). It addresses the
reviewers' comments.
Please take a look.



On Tue, Feb 18, 2014 at 5:52 PM, Alexander Smundak <asmundak at google.com>wrote:

> > I would propose to split the hotspot change into the fixes for the
> > new abi and those for the endianess. The abi changes are almost ppc-only
> > and thus easier to get reviewed. I prepared a change including only
> > that:
> > http://cr.openjdk.java.net/~goetz/webrevs/abi_elfv2/
> Thank you for doing this. Your patch works, and the remaining patch is
> much smaller.
> My only question is why it was necessary to have explicit
> #include "macroAssembler_ppc.inline.hpp"
> in src/cpu/ppc/vm/vm_version_ppc.cpp as  "assembler_ppc.inline.hpp"
> which is one line above, already does that.
>
> > Please have a look at this change and test it.  . Feel free to further
> > change it.  If the change is ok for you I'll push it right away
> Yes, please do.
>
> I've addressed your remaining comments and will post revised diff once
> you submit elfv2 change and I pull it.
> Do you have any comments on jdk/ change?
>
> > For the remaining changes to hotspot it would be great if we could
> > avoid all the duplication of files.... I think you just need to change
> > arch_model and os_arch_model in platform_ppc64le.
> Yes, this works.
>
> > I would prefer if you use VM_LITTLE_ENDIAN to distinguish in C-code
> Done.
>
> > Did you build and use SA? Does it work? So far, we never tried to.
> Yes, I've built it, but it's not very useful until
> agent/src/share/classes/sun/jvm/hotspot/runtime/ contains
> powerpc64-specific
> classes. It's not worth putting it into this patch.
>
> > Your change in os_linux.cpp to arch_array looks wrong. As you use
> > the same code entry for both ppc64, in the loop below, running_arch_code
> > will always point to your new entry.
> Fixed that.
>
> > Further I think, the CPU architecture string should be
> >
> > #elif defined(PPC64)
> > #ifdef VM_LITTLE_ENDIAN
> > static char cpu_arch[] = "ppc64le";
> > #else
> > static char cpu_arch[] = "ppc64";
> > #endif
> Done.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20140304/28babf26/attachment.html 


More information about the ppc-aix-port-dev mailing list