At class link time, classes of method arguments and return values decorated with a Q-descriptor are eagerly loaded in order to computed optimized calling conventions. Arrays are identity types, even if their component type is a null-free primitive class. There's no point in loading component types of array arguments at link time, because they cannot be optimized in the calling convention as primitive objects are.
The comment in InstanceKlass::link_class_impl() correctly describes this behavior, but the implementation loads the component type anyway.
The comment in InstanceKlass::link_class_impl() correctly describes this behavior, but the implementation loads the component type anyway.