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 _______________________________________________ Classpath mailing list [email protected] http://lists.gnu.org/mailman/listinfo/classpath

