RFR (M): 8223213: Implement fast class initialization checks on x86-64
martin.doerr at sap.com
Mon May 27 15:24:04 UTC 2019
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.
More information about the hotspot-compiler-dev