s390x port progress: patch queue for hotspot assembled.

Volker Simonis volker.simonis at gmail.com
Mon Jul 4 07:10:33 UTC 2016


On Sun, Jul 3, 2016 at 2:16 PM, David Holmes <david.holmes at oracle.com> wrote:
> Hi Goetz,
>
> On 1/07/2016 9:00 PM, Lindenmaier, Goetz wrote:
>>
>> Hi Java and s390x fans!
>>
>> I want to report about the progress in the s390x port project.
>>
>> I have been working internally on the port of hotspot.
>> I arranged a preliminary patch queue that adds all required
>> hotspot  to build openJdk hotspot from our internal s390x port.
>> As expected, the amount of shared changes required is very low.
>>
>> I need the following 9 changes, annotated with the known T-shirt sizes:
>>
>> L: All the required includes of s390x files in shared files and all places
>>     where the string s390x is needed.
>
>
> I'd really like us to collectively expend some brain cycles on figuring out
> how to do away with the explicit platform include lists. The ever expanding
> list of platforms really bugs me (as it has since it was introduced).
>

An obvious solution to this problem would be to simply remove the
os/arch parts from the corresponding filenames (they are encoded in
the directory path anyway) and only use the correct include path for
every platform while building (I think we already do that). E.g.

Rename all instances of "assembler_<cpu>.hpp" to "assembler_cpu.hpp"
(i.e. cpu/x86/vm/assembler_x86.hpp -> cpu/x86/vm/assembler_cpu.hpp) in
which case:

#ifdef TARGET_ARCH_x86
# include "assembler_x86.hpp"
#endif
#ifdef TARGET_ARCH_sparc
# include "assembler_sparc.hpp"
#endif
#ifdef TARGET_ARCH_zero
# include "assembler_zero.hpp"
#endif
#ifdef TARGET_ARCH_arm
# include "assembler_arm.hpp"
#endif
#ifdef TARGET_ARCH_ppc
# include "assembler_ppc.hpp"
#endif
#ifdef TARGET_ARCH_aarch64
# include "assembler_aarch64.hpp"
#endif

could be simply replaced by:

# include "assembler_cpu.hpp"

The only drawback would be that we may have to create some empty files
for some platforms, but in my eyes that's not that bad.

The current naming schema is probably a reminiscence of the old
includeDB days which only very aged hotspot developers can remember :)

> Cheers,
> David
>
>
>
>> M: A row of S390_ONLY() macros in shared code, e.g. C1 requires some
>>       of them.
>> 6xS: Six 'X' size changes are currently needed that add a new field to a
>>     shared datastructure or an argument to a method.
>>
>> XL: The s390x and linux_s390x files.
>>
>> TODOs:
>>
>> -          I probably need to do some fixes in hotspot, and adapt some
>> functionality
>>
>> as our internal port is at jdk9 b107.
>>
>> -          Get the jdk build working.
>>
>> -          Run tests and fix issues.
>>
>> Best regards,
>> Goetz.
>>
>>
>


More information about the hotspot-dev mailing list