On Sun, 5 Jun 2005, Geir Magnusson Jr. wrote: > > Also from time to time the VM interface has to be extended for new > > VMs, which have different needs. This is one reason that the > > interface isn't yet stable, even for 1.4. > > It would be interesting to know why and how it was extended - there's > something to learn there. I'm also interested in getting some input from the > commercial VM developers.
The new features in 1.5 varargs, enums, annotations, and generics required additions to the class file format. More changes appear to be introduced to improve debugging (type infos about local variables). Tom Tromey has already found a link to an updated class file description: http://java.sun.com/docs/books/vmspec/2nd-edition/UpdatedClassFileFormat.pdf Here is a short and probably incomplete overview over the changes: varargs: ACC_VARARGS, ACC_BRIDGE (?) enums: ACC_ENUM annotations: ACC_ANNOTATION New attributes: EnclosingMethod, Signature (for generics), LocalVariableTypeTable, RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations, RumtimeVisibleParameterAnnotations, RumtimeInvisibleParameterAnnotations, Uli
