OpenJDK7 port to the little endian PowerPC64
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Mar 6 11:06:22 PST 2014
Goetz,
Please add a description to the bug 8036767 report.
Thanks,
Vladimir
On 3/6/14 5:20 AM, Lindenmaier, Goetz wrote:
> Hi Sasha,
>
> I opened a bug for this next change:
>
> https://bugs.openjdk.java.net/browse/JDK-8036767
>
> I had a look at the webrev for 7 you mailed around:
>
> A small issue is in bytes_linux_ppc.inline.hpp:
>
> +#ifndef OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP
>
> +#define OS_CPU_LINUX_PPCLE_VM_BYTES_LINUX_PPC_INLINE_HPP
>
> defines the wrong macro.
>
> Also you need to add a copyright header.
>
> You need to protect #include "bytes_linux_ppc.inline.hpp"
>
> in bytes_ppc.hpp by #ifdef TARGET_OS_ARCH_linux_ppc, else it breaks the
>
> aix build.
>
> The comment above get_Java_u2 is misleading, I guess ;)
>
> os_linux.cpp does not build on non-ppc platforms because PPC64_ELFDATA2XSB
>
> is not defined.
>
> With the fixes mentioned above I tested it. It works fine on our
> linuxppc64, aix
>
> and linuxx86_64.
>
> Can you please send a RFR to the hotspot-dev list as you did for the
> other change?
>
> Best regards,
>
> Goetz.
>
> *From:*Alexander Smundak [mailto:asmundak at google.com]
> *Sent:* Dienstag, 4. März 2014 20:29
> *To:* Lindenmaier, Goetz; Volker Simonis
> *Cc:* ppc-aix-port-dev at openjdk.java.net
> *Subject:* Re: OpenJDK7 port to the little endian PowerPC64
>
> 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
> <mailto: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.
>
More information about the ppc-aix-port-dev
mailing list