[aarch64-port-dev ] macOS/Aarch64 workflow

Ludovic Henry luhenry at microsoft.com
Tue Oct 13 21:20:54 UTC 2020


Hi,

I've finally been able to push to openjdk/aarch64-port:jdk-macos. Thank you Andrew on your work with ops! ��

I've pushed to this branch Anton's work merged onto a more recent commit of openjdk/jdk:master. I understand it is not fully up to date with the work in [1], so we'll merge openjdk/jdk:master once that lands and for any future work done in parallel.

I've also submitted our work through a PR against openjdk/aarch64-port:jdk-macos at [2]. It adds the missing pieces to build and run natively, and support for `jdk.hotspot.agent` and. The only thing I've not added to this PR that we still have internally only is code specific to the hardware of the DTK in vm_version_bsd_aarch64.cpp. I'll check what other runtimes have done (like .NET) to figure out what is "safe" to put in the open (I expect everything, but let's play it safe). We've also verified that all these changes can be cross-compiled from macOS-x86_64 so nothing in this PR is DTK-specific information.

I'll now run tests locally, and send a summary of what tests are still failing.

Looking forward to collaborate on that port in the open!

Thank you,
Ludovic

[1] https://github.com/openjdk/jdk/pull/294
[2] https://github.com/openjdk/aarch64-port/pull/1

-----Original Message-----
From: aarch64-port-dev <aarch64-port-dev-retn at openjdk.java.net> On Behalf Of Ludovic Henry
Sent: Thursday, October 1, 2020 3:24 PM
To: Andrew Haley <aph at redhat.com>; Anton Kozlov <akozlov at azul.com>; aarch64-port-dev at openjdk.java.net
Subject: Re: [aarch64-port-dev ] macOS/Aarch64 workflow

Hi,

As it seems I can't push anything to jdk-sandbox (I'm contacting the registrar to know why), I've pushed our changes to https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fopenjdk-jdk%2Fcommits%2Fjdk-macos&data=02%7C01%7Cluhenry%40microsoft.com%7Ca0e008a271504c0c1e3508d86658ca35%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637371878820730787&sdata=EYxkJY1MUg1UVMZccFOHqAiSPpj9U%2BqM7WUs79h6WQg%3D&reserved=0.

I'll reach out to you Anton over the next few days to figure out how we can contribute either on your branch or on the aarch64 repo.

Thank you, and looking forward to collaborate on this port ��
Ludovic

-----Original Message-----
From: aarch64-port-dev <aarch64-port-dev-retn at openjdk.java.net> On Behalf Of Andrew Haley
Sent: Thursday, October 1, 2020 9:00 AM
To: Anton Kozlov <akozlov at azul.com>; aarch64-port-dev at openjdk.java.net
Subject: Re: [aarch64-port-dev ] macOS/Aarch64 workflow

On 01/10/2020 16:00, Anton Kozlov wrote:
>
> On 01.10.2020 11:51, Andrew Haley wrote:
>> It is more conventional, and IMO it would make more sense, to use a branch
>> in the aarch64-port repo. Ops at openjdk is working on it.
>
> I have looked through my mailbox, I hope you mean an aarch64 git
> repo (and not the hg one[1]).

I do.

> But I'm not sure this was discussed before in public.
>
> I see no benefit of an aarch64 branch, now you have to be an aarch64 project
> committer to push there.

Oh, is that a problem? That seems like no big deal to me, but I
suppose it is a couple of weeks' wait.

> More, there are downsides. In jdk-sandbox, you can have multiple
> branches for the same purpose. I'm aware of at least three
> implementations that do share a lot of in common. It will be very
> useful to see them side-by-side and pick good and bad parts in
> each. Second, it will be possible to commit something wrong and then
> fix the history (if we screwed up and it prevents reviewing -- the
> point of having a pile of fixes in public). We can also relax a bit,
> and avoid creating a Jira bug for each commit.

We've never used bug IDs in the aarch64-port project.

I guess I can see the appeal of a "Wild West" approach to this, but it
is a new way of working.

One of the advantages of the aarch64-port Hg forks is that we've got
the entire history of the project, back to the first code we ever
executed:

https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhg.openjdk.java.net%2Faarch64-port%2Fjdk7u%2Fhotspot%2Frev%2F9a723c72df9e&data=02%7C01%7Cluhenry%40microsoft.com%7Ca0e008a271504c0c1e3508d86658ca35%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637371878820730787&sdata=ZT2MPawPgEcsyjwUhuq7V3qDgE7QjRZc7WqD663ysrk%3D&reserved=0

and the day four months later we got "Hello, World!" working, some
750k bytecodes:

https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhg.openjdk.java.net%2Faarch64-port%2Fjdk7u%2Fhotspot%2Frev%2F442027967d0a&data=02%7C01%7Cluhenry%40microsoft.com%7Ca0e008a271504c0c1e3508d86658ca35%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637371878820730787&sdata=85%2FuoL%2Fw0d5NnDZeyKshbFCzTaYXmxwZC0TmuVRfYs8%3D&reserved=0

This history is frequently useful.

Of course, you can work any way you want; it's entirely up to you. As
long as the patches you produce are clean enogh to review and not so
huge that they are too much to digest, that's all you have to do.

> Sometime later, we may need a repo carved in stone, but at such an
> early phase, I don't see a real value here.

Maybe. I guess the history in the sandbox will be easy to find in the
future, but who knows? I do know that anyone coming to
https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhg.openjdk.java.net%2Faarch64-port&data=02%7C01%7Cluhenry%40microsoft.com%7Ca0e008a271504c0c1e3508d86658ca35%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637371878820730787&sdata=BoemvxJZ%2F7GAyXGDc%2B7JIQPDzAtVEAv1c9NzC59Z0WE%3D&reserved=0 can easily find the entire
history of the port.

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.redhat.com%2F&data=02%7C01%7Cluhenry%40microsoft.com%7Ca0e008a271504c0c1e3508d86658ca35%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637371878820740782&sdata=17%2F0IHw4su%2FGH2s0UsiWxBXP9KxYInfkJZ3JS8BjSpo%3D&reserved=0>
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fkeybase.io%2Fandrewhaley&data=02%7C01%7Cluhenry%40microsoft.com%7Ca0e008a271504c0c1e3508d86658ca35%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637371878820740782&sdata=ymL12HrzxjffnDcA4CNB9pf3ZK4tAWCf6%2Fpn5fkpssk%3D&reserved=0
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the aarch64-port-dev mailing list