classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RFC: Generics branch VM interface


From: Jeroen Frijters
Subject: RFC: Generics branch VM interface
Date: Thu, 16 Jun 2005 12:08:18 +0200

Hi,

I'd like to propose a fundamental change to the VM interface on the
generics branch. In particular, I'd like the VM interface (and in this
case I mean strictly the interface between the Foo and VMFoo classes) on
the generics branch to be compatible with the main branch. That way a VM
can use the same VM interface code for both branches.

This means, for example, that in VMClass, we use Class instead of
Class<T>. In some cases this requires additional casts in the
corresponding class, but these casts are removed by the compiler so they
don't affect performance or code size.

Another example is that VMSystem.environ() would return a String[][]
instead of a List<String> (as an aside, IMO, it's always better to use
built-in types across the VM interface, e.g. manipulating an array in
JNI is easier and more efficient than manipulating a List).

Another, possibly more contentious, case is VMClass.getTypeParameters(),
this currently returns a TypeVariable<Class<T>>[], but I wonder if it
wouldn't be better to simply return a string and do the signature
decoding (which presumably is common to all VMs) in
java/lang/Class.java.

Any thoughts?

Regards,
Jeroen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]