> > > JCVM has a nice feature in this area in that it converts > bytecode to C > > and then lets GCC compile that. That would appear to make it very > > portable, but it isn't the way most VMs work. (Ironicaly, the C > > genetation code in JC VM is written in Java - see > > > http://cvs.sourceforge.net/viewcvs.py/jcvm/jcvm/java/org/dellroad/jc/c > > ge > > n/) > > Hmmm, interesting... I wonder if we could hook directly into > the compiler intermediate representation instead of having to > write a big string using C syntax and fire a parser on it. > > Does anybody know if GCC allows such a thing? >
The JCVM docs talks about possible support for generating ELF binaries usign just Java code, although this doesn't appear complete at this point. See http://jcvm.sourceforge.net/share/jc/doc/jc.html#Java%20to%20ELF GCC also has its own internal format (called RTL I think). I don't know much (anything) about that, but it is easy to speculate about producing RTL from bytecode and feeding it to the compiler. I'd speculate that GCJ works something like this. > Keep in mind I know squad about GCC and friends. Me neither. Nick IMPORTANT: This e-mail, including any attachments, may contain private or confidential information. If you think you may not be the intended recipient, or if you have received this e-mail in error, please contact the sender immediately and delete all copies of this e-mail. If you are not the intended recipient, you must not reproduce any part of this e-mail or disclose its contents to any other party. This email represents the views of the individual sender, which do not necessarily reflect those of education.au limited except where the sender expressly states otherwise. It is your responsibility to scan this email and any files transmitted with it for viruses or any other defects. education.au limited will not be liable for any loss, damage or consequence caused directly or indirectly by this email.
