> > 3. Don't worry about inlining Java code: assume the VM can do 'easy' > > inlining like invoking static methods. > > How does that aspect matter to the VM/classlib interface? >
It matters in that when defining the VM/classlib interface you should assume that adding a level of "easy" to inline wrapper functions will have zero performance impact. Eg, Object.clone isn't directly declared to be a native method, it simply delegates to VMObject.clone, which may or may not be a native method depending on the VM implementation. Trust that the JIT will inline away the trivial wrapper method (java.lang.Object.clone) so that delagating the real work to a method of VMObject won't cost you anything. --dave