[13] RFR (M): 8223213: Implement fast class initialization checks on x86-64

Doerr, Martin martin.doerr at sap.com
Mon May 27 15:24:04 UTC 2019


Hi Vladimir,

I've looked at your change an think it's good.

Methods belonging to uninitialized classes are not inlined, so it looks fine to perform the check only at the nmethod entry.

I'm not so familiar with JVMCI/AOT, so I haven't looked into this topic.

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?

A small suggestion for x86 TemplateTable::invokeinterface:
It'd be nice to replace load of interface klass by your new load_method_holder.

Thanks for sharing performance numbers.

Best regards,
Martin



More information about the hotspot-compiler-dev mailing list