Hello, 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[1] 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 knows? [1]: Sadly, just using whatever Sun or OpenJDK provide in rt.jar does not work. Thanks a lot, -- Carsten Otto o...@informatik.rwth-aachen.de LuFG Informatik 2 http://verify.rwth-aachen.de/otto/ RWTH Aachen phone: +49 241 80-21211
signature.asc
Description: Digital signature