[13] RFR (M): 8223213: Implement fast class initialization checks on x86-64
Doerr, Martin
martin.doerr at sap.com
Tue May 28 14:03:44 UTC 2019
Hi Vladimir,
thanks for the update. Looks good.
Best regards,
Martin
> -----Original Message-----
> From: Vladimir Ivanov <vladimir.x.ivanov at oracle.com>
> Sent: Dienstag, 28. Mai 2019 13:41
> To: Doerr, Martin <martin.doerr at sap.com>; hotspot compiler <hotspot-
> compiler-dev at openjdk.java.net>; hotspot-runtime-dev <hotspot-runtime-
> dev at openjdk.java.net>; hotspot-dev developers <hotspot-
> dev at openjdk.java.net>
> Subject: Re: [13] RFR (M): 8223213: Implement fast class initialization checks
> on x86-64
>
> Thanks, Martin.
>
> Updated webrev:
> http://cr.openjdk.java.net/~vlivanov/8223213/webrev.02/
>
> > Are these assertions safe?
> > + assert(method()->needs_clinit_barrier(), "barrier not needed");
> > + assert(method()->holder()->is_being_initialized(), "barrier not
> needed");
> > Can it happen that initialization concurrently completes before they are
> evaluated?
>
> Good point. Even though ciInstanceKlass caches initialization state of
> the corresponding InstanceKlass, it seems there's a possibility that the
> state is updated during the compilation (see
> ciInstanceKlass::update_if_shared). I enhanced the asserts to check that
> initialization has been stated.
>
> > A small suggestion for x86 TemplateTable::invokeinterface:
> > It'd be nice to replace load of interface klass by your new
> load_method_holder.
>
> Agree. Updated.
>
> Best regards,
> Vladimir Ivanov
More information about the hotspot-runtime-dev
mailing list