Bryce McKinlay wrote: > Sorry, I think I misunderstood your message. I thought you were > suggesting moving all the native methods (eg for IO classes) to > separate VM* classes.
I think that is in fact what Mark was suggesting and I think this is definitely a good idea. There are a lot of VMs that don't (want to) use JNI for their "native" methods. Having all native methods in the VM* classes makes this much easier. > Right. I think there is a distinction, however, between what the VM > must implement to operate with classpath - ie core VM classes like > Class, Object, Throwable, Thread; and portable classes which > happen to have native methods, such as java.io.File and > java.net.PlainSocketImpl. > The later are just normal classes with native methods, the > implementations of which are typically be portable across different > VMs. This assumption is not true for some VMs. My VM (IKVM) has no native methods and I'm pretty sure this is also true for JAOS and maybe others. > So, they a system/platform interface rather than the VM > interface. > To put it another way, just because a method is native > doesn't mean it interfaces with the VM. The VM* classes don't mean "interfaces with the VM", but are a way for VM implementers to easily replace their implementation. (The idea being that the interface between the non-VM and VM classes is fairly stable). Regards, Jeroen _______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/classpath