[aarch64-port-dev ] RFR: 8216557 Aarch64: Add support for Concurrent Class Unloading

Andrew Haley aph at redhat.com
Tue Apr 7 12:25:14 UTC 2020

On 4/7/20 12:52 PM, Andrew Haley wrote:
> I notice that even after applying your patch we are still using embedded
> OOPs in two places.
> Here in aarch64.ad:
>       if (rtype == relocInfo::oop_type) {
>         __ movoop(dst_reg, (jobject)con, /*immediate*/true);
>       }
> and here in sharedRuntime_aarch64.cpp:
>     //  load oop into a register
>     __ movoop(c_rarg1,
>               JNIHandles::make_local(method->method_holder()->java_mirror()),
>               /*immediate*/true);
> Why is this?

Ah, the second one is a handle, of course, and AFAIK handles don't move.
Having said that, the use of movoop on something that is the address of an
oop rather than an oop is odd,but it's done on other targets.

The C2 one is still suspect.

Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the zgc-dev mailing list