[aarch64-port-dev ] [8u] RFR (M) 8228400: Remove built-in AArch64 simulator

Andrew Dinn adinn at redhat.com
Mon Aug 5 09:42:33 UTC 2019


On 05/08/2019 09:44, Aleksey Shipilev wrote:
> On 8/5/19 10:37 AM, Andrew Dinn wrote:
>> On 05/08/2019 09:17, Aleksey Shipilev wrote:
>>> This is the backport of cleanup/removal in 8u-aarch64:
>>>   https://bugs.openjdk.java.net/browse/JDK-8228400
>>>   https://hg.openjdk.java.net/jdk/jdk/rev/01bca26734bb
>>>
>>> 8u-aarch64 webrev:
>>>   https://cr.openjdk.java.net/~shade/8228400/webrev.8u.01/
>>>
>>> Testing: aarch64 build, hotspot_gc_shenandoah (for the lack of tier1)
>> Were there any /significant/ changes relative to the 11u changes?
> 
> Not really. The context is different in some places, so I had to grep again for BUILTIN_SIM and
> friends, and remove those leftovers. The only change that required more work is changing to
> call_VM_leaf in c1_CodeStubs_aarch64.cpp: there is no such code in 11+.
> 
> It would still be good to look through the entire 8u-aarch64 webrev and see if removals are sane.

Indeed. I worked through all changes and also compared them against your
previous 11u change set. The changes which are new in the jdk8u patch
are because of:

  1) c1 code stubs
  2) vtable tweaks (in the metaspace code)
  3) os_cpu specific changes
  4) c1 calls using blrt
  5) (generic only) c1 + nmethod compilation notifies to sim debugger
  6) (generic only) relocation notifies in shared runtime
  7) (generic only) safe fetch stub routines

There are also a few 'equivalent' removals but to code that has is now
in a different source file:

  relocate of templateInterpreter code to templateInterpreterGenerator
  relocate of interpreter code to templateInterpreterGenerator

The specific changes all look correct. So, I don't think there is any
problem with the patch ... well, except you have omitted  updates to
quite a few copyright headers :-]

However, this left me wondering why these new changes had turned up. It
seems some of these new removals make sense but a couple appear to have
been missed from the corresponding 11u files:

 3) os_linux_aarch64.cpp
 4) c1_Runtime1_aarch64.cpp

So, sorry, a jdk11u follow-up is needed. Also, I think quite a few of
the copyrights did not get updated in the jdk11u patch :-/

n.b. Andrew Haley carefully deleted all the generic changes when we
imported the AArch64 code into JDK9. The rest of the AArch64-specific
stuff has disappeared because of global JVM changes (e.g. prefetch and
safe fetch functions, vtable tweaking etc all got changed over the
years). SO, I think that accounts for why only these 2 jdk11u files have
turned up. Of course, it is still possible that some BUILTIN_SIM-related
changes are lingering in jdk8u/11u but it looks like this has found
almost all if not all of them.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the aarch64-port-dev mailing list