> Hi, > >> I'd be interested in hearing more from Steve on how well that works within JikesRVM. From reading some papers on the web, it seems that the MMTk has been ported to other, non-Java runtimes as well, and I guess that this binding-vm-components-via-java-interfaces problem has been efficiently solved by other bright people already outside the pure-java-runtime space. > > Actually Robin Garner is the expert, as he wrote his honors thesis on the subject. http://eprints.anu.edu.au/archive/00002397/ (MMTk was previously known as JMTk---we dropped the 'J' to reflect our goals of language neutrality).
There's also a precis paper available from here: http://www.cs.adelaide.edu.au/~wossa2004/HTML/07-garner-1.pdf As Steve says, the key to getting good performance in a mixed-language environment is to minimise the frequency of crossing the language boundary. Also, unless you use conservative GC (with the attendant performance issues) you need to minimise sharing of complex data structures in order to allow copying collection. The reason I keep emphasising copying collection is newly emerging results like this: http://cs.anu.edu.au/~Steve.Blackburn/pubs/papers/oor-oopsla-2004.pdf which essentially shows that copying collection can be used to improve locality and increase performance. If harmony is to be the best available optimizing JVM, then techniques like these will be necessary. cheers Robin