You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Dan Lydick <dl...@earthlink.net> on 2005/06/08 18:16:40 UTC

Where is the LATEST version of the .class file format specification?

There has been some discussion as to where to find
the later updates to the class file format specification.

Two have been offered, as noted in the original e-mails
below:

(A) UpdatedClassFileFormat.pdf being downloaded from
http://java.sun.com/docs/books/vmspec/2nd-edition/UpdatedClassFileFormat.pdf

and

(B) ClassFileFormat-final-draft.pdf being downloaded from
http://java.sun.com/docs/books/vmspec/2nd-edition/ClassFileFormat-final-draf
t.pdf

I have compared these documents, which, on the face, look
almost _completely_ identical.  However, a simple 'diff A B'
command showed where the difference were.  It is my opinion
that (B) is the latest, due to the extended description and
clarification of the annotation attributes.

Per Nick's quotation of objectweb.org, file (B) is probably
the later of the two.  But is it the _latest_?  Can comeone
confirm whether or not (B) is the latest class file spec?
I would suggest that it might be.

We are going to need proper verification of this speculation
of mine if we are going to correctly implement the lated class
files in a JVM.  I have enclosed a text file 'ClassDocDiffs.txt'
which shows the differences between (A) and (B) in a readable
form.  I have also enclosed 'diffs.txt' which is the raw data
from which the differences were located.

Could somebody please confirm which of either (A) or (B) or
(C--neither) is the latest and most accurate version of the
class file format specification?  Is there yet a more recent
one out there?

Thanks for your help,


Dan Lydick


> [Original Message]
> From: Nick Lothian <nl...@educationau.edu.au>
> To: <ha...@incubator.apache.org>
 > Date: 6/5/05 6:37:01 PM
> Subject: RE: [arch] How much of java.* and friends does Harmony need to
write.  Was: VM/Classlibrary interface
>
> There is also
>
http://java.sun.com/docs/books/vmspec/2nd-edition/ClassFileFormat-final-draf
t.pdf .
> 
> According to http://asm.objectweb.org/doc/tutorial-annotations.html it
> included "modifications for J2SE 5.0 to support changes mandated by
> JSR-14, JSR-175, and JSR-201, as well as minor corrections and
> adjustments."
> 
> 
> Nick
> 
> > -----Original Message-----
> > From: Ulrich Kunitz [mailto:kune@deine-taler.de]=20
> > Sent: Monday, 6 June 2005 8:01 AM
> > To: harmony-dev@incubator.apache.org
> > Subject: Re: [arch] How much of java.* and friends does=20
> > Harmony need to write. Was: VM/Classlibrary interface
> > =20
> > On Sun, 5 Jun 2005, Geir Magnusson Jr. wrote:
> >=20
> > > > Also from time to time the VM interface has to be=20
> > extended for new=20
> > > > VMs, which have different needs.  This is one reason that the=20
> > > > interface isn't yet stable, even for 1.4.
> > >=20
> > > It would be interesting to know why and how it was extended=20
> > - there's=20
> > > something to learn there.  I'm also interested in getting=20
> > some input=20
> > > from the commercial VM developers.
> >=20
> > The new features in 1.5 varargs, enums, annotations, and=20
> > generics required additions to the class file format. More=20
> > changes appear to be introduced to improve debugging (type=20
> > infos about local variables).
> >=20
> > Tom Tromey has already found a link to an updated class file
> > description:
> >=20
> >
http://java.sun.com/docs/books/vmspec/2nd-edition/UpdatedClassFileFormat.pdf
> >=20
> > Here is a short and probably incomplete overview over the changes:
> >=20
> > varargs: 	ACC_VARARGS, ACC_BRIDGE (?)
> > enums:   	ACC_ENUM
> > annotations:	ACC_ANNOTATION
> >=20
> > New attributes: EnclosingMethod, Signature (for generics),
> >                 LocalVariableTypeTable,
> > 		RuntimeVisibleAnnotations,
> > 		RuntimeInvisibleAnnotations,
> > 		RumtimeVisibleParameterAnnotations,
> > 		RumtimeInvisibleParameterAnnotations,