is ClassLoader.loadClass() supposed to work on module-info classes?

Remi Forax forax at
Fri Dec 4 23:28:00 UTC 2015

----- Mail original -----
> De: "Alex Buckley" <alex.buckley at>
> À: jigsaw-dev at
> Envoyé: Samedi 5 Décembre 2015 00:09:16
> Objet: Re: is ClassLoader.loadClass() supposed to work on module-info	classes?
> On 12/4/2015 11:58 AM, Peter Levart wrote:
> > I know about those options. What I was wanting to know is whether the
> > class file format will change and for what features.
> It's possible that VarHandles will justify a bump to 53.0 because of new
> semantics for invokevirtual (see JEP 193). Paging Paul Sandoz, how is
> that JVM Spec update coming along? :-)

It can be just a compiler change (a JLS change) if invokedynamic is used instead of invokevirtual for doing the re-targeting.
But as currently specified by the JEP 193, yes, the semantics of invokevirtual is enhanced so it requires to bump the major version to 53.0

> (Yes, changing instruction semantics causes a bump. Changing ldc in SE
> 5.0 to support class constants bumped 48.0 to 49.0, thus losing the
> ability to compile code with generics on JDK 5 and run the class files
> on 1.4.)

at the same time, having a simple way to use Foo.class (without triggering the initialization of the class) in an annotation but not inside a plain old code will have been weird.

> Alex


More information about the jigsaw-dev mailing list