s390x port progress: patch queue for hotspot assembled.
David Holmes
david.holmes at oracle.com
Mon Jul 4 07:35:14 UTC 2016
On 4/07/2016 5:10 PM, Volker Simonis wrote:
> 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.
I'm sure that was proposed originally but rejected for some reason ...
Need to do some archaeology :)
David
------
> 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