Re: Which classes need to be supplied by any JVM?

2009-08-22 Thread Jeremy Manson
That was probably a stunningly unclear reply. Let me be a little clearer: The list of classes you actually need is not very long. You can grep through the Hotspot code to figure it out. Mostly, it consists of things in java.lang.* and java.lang.*.*. I'm not a lawyer, but it is my understanding

Re: Which classes need to be supplied by any JVM?

2009-08-22 Thread Jeremy Manson
To be fair, it isn't really all that much compared to the size of the platform. You can grep through the sources to find out - it is mostly just the stuff in java.lang.* and java.lang.*.*, with some additional bits and bobs. I suspect you can actually do this, too - isn't it fine as long as you d

Re: Which classes need to be supplied by any JVM?

2009-08-22 Thread Stephen Colebourne
Interesting. I guess I'd naively assumed that the 'bytecode engine' would have some mechansim of "registering" certain classes to act as the key classes it requires. (My hypothetical setup here is the tuned hotspot engine but no java.* class files whatsoever) What we've learnt however is that

Re: Which classes need to be supplied by any JVM?

2009-08-21 Thread Jeremy Manson
Even with just a bytecode execution engine, you would need pretty much all of the Throwables in java.lang - NullPointerException, OutOfMemoryError, ArithmeticException, VerifyError, ClassFormatError, IndexOutOfBoundsException and the like. The flip side of "what classes does the VM need" is "what

Re: Which classes need to be supplied by any JVM?

2009-08-21 Thread David Holmes - Sun Microsystems
Stephen, Stephen Colebourne said the following on 08/21/09 18:14: If you wanted to code from scratch a JVM, but not include the rest of the Java SE platform (such as the .class files), what would you need to include? Is Object.class mandatory for a pure JVM? Anything else? The answers given i

Re: Which classes need to be supplied by any JVM?

2009-08-21 Thread Stephen Colebourne
I was actually interested in the thrust of the original question, let me rephrase it. If you wanted to code from scratch a JVM, but not include the rest of the Java SE platform (such as the .class files), what would you need to include? Is Object.class mandatory for a pure JVM? Anything else?

Re: Which classes need to be supplied by any JVM?

2009-08-21 Thread Florian Weimer
* David Holmes: > If you were thinking about this from a basic language perspective - eg > we must have Object, and we must have Class, and array implies > Serializable etc, then there is a core set of classes that form the > transitive closure of the JVM bootstrap process. If you are interested >

Re: Which classes need to be supplied by any JVM?

2009-08-20 Thread David Holmes - Sun Microsystems
As Martin stated what you are looking for is not part of the JVMS nor the JLS, but the platform specification, which is essentially the entire set of Java API's as found for example here: http://java.sun.com/javase/6/docs/index.html But the implementation of those classes will then have depend

Re: Which classes need to be supplied by any JVM?

2009-08-20 Thread Martin Buchholz
The set of all public APIs that must be part of the java se platform are tested by the platform tck, in particular by the "signature test", and you can get the sources for that test (for research only) and from that it should be possible (with work) to get a list of all required classes. But that'

Which classes need to be supplied by any JVM?

2009-08-20 Thread Carsten Otto
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