Which classes need to be supplied by any JVM?
otto at informatik.rwth-aachen.de
Thu Aug 20 08:26:32 PDT 2009
I am working on automated termination analysis of Java Bytecode and I am
missing an important bit of information in the Java Virtual Machine
Specification (JVMS). I'd be happy to get some help from you!
Every JVM needs to provide certain classes including code for their native
methods, e.g. java.lang.Object (obvious) and java.io.Serializable (because
every array implements it). The list of such classes can easily be
extended, but I have huge problems finding a lower bound to keep this list
as small as allowed according to the JVMS.
Is there some part of the specification that states which classes need to
be provided? I can only see references to the API (e.g. "reflective APIs"),
but no clear definition of the classes that need to exist. In the current
draft for JVMS 3rd edition, the necessity to include java.io.Serializable
is not even part of the JVMS, this is only visible by looking at the
definition of arrays in the Java Language Specification (JLS).
Some hints in this direction are also appreciated. So far I can only guess,
that sun.awt.* is not part of the language defined in the JVMS - but who
: Sadly, just using whatever Sun or OpenJDK provide in rt.jar does not
Thanks a lot,
Carsten Otto otto at informatik.rwth-aachen.de
LuFG Informatik 2 http://verify.rwth-aachen.de/otto/
RWTH Aachen phone: +49 241 80-21211
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: Digital signature
Url : http://mail.openjdk.java.net/pipermail/core-libs-dev/attachments/20090820/b57b6438/attachment.bin
More information about the core-libs-dev