[virtmach] Virtual Machines and Code Representation

Manoj Plakal plakal@cs.wisc.edu
Mon, 24 Jul 2000 13:21:40 -0500


Reuben Thomas wrote (Mon, Jul 24, 2000 at 07:07:33PM +0100) :
>>the original one in the 1950s, basically that we can't abstract either
>>language semantics or machine architecture well enough to avoid an impossible
>>morass of special case hacks in such a language. 
> 
>I don't think this is quite true. Provided you limit your aims, and stay
>really low level, the right combination of care and brutality can be
>[snip] 
> Mite is tailored to a C-like world, but that's not a problem, as many
> modern high-level languages are compiled into C or via a C-like
> intermediate language. This simply acknowledges the fact that most system
> calling conventions are built on C. You wouldn't want to compile ML or APL

	On a related note, the C-- language is being proposed as 
	a portable assembly language to act as an interface between
	high-level language front-ends and low-level optimizing back
	ends. C-- provides support for expressing exception handling,
	garbage collection, debugging information, and a lot of other
	things that compiler writers use. A recent PLDI 2000 paper 
	discussed how it could support various kinds of exception 
	handling implementations.

	See http://www.cminusminus.org, they have some sample
	implementations. I think they are now looking for people 
	to use C-- as targets for their front ends.

	Manoj