On Thu, 4 Feb 2021 12:54:43 GMT, Coleen Phillimore <[email protected]> wrote:
>> This patch moves some sanity checking done in ClassLoader.java to the
>> corresponding endpoints in native or VM code.
>
> src/java.base/share/classes/java/lang/ClassLoader.java line 1259:
>
>> 1257: Class<?> findBootstrapClassOrNull(String name) {
>> 1258: return findBootstrapClass(name);
>> 1259: }
>
> I'm confused why this would improve performance. Wouldn't avoiding the
> transition between Java to the VM be good? Or is checkName seldom false, so
> we're checking valid names for nothing?
It's practically never false, so the checking done here is just extra work. The
patch skips execution of a few thousand bytecode on startup as is, but I'm
reworking it to try and get rid of the last remaining checkName use clean up
the verifyFixClassName/fixClassName use to perhaps consolidate code there for a
bit.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2378