C-- Harvard EECS -> C-- Home -> Papers -> The best overview paper
  C-- Home | Specification & Downloads | Old News | Papers | Mailing List | People | FAQ

C--: a portable assembly language that supports garbage collection

Simon Peyton Jones, Norman Ramsey, and Fermin Reig

For a compiler writer, generating good machine code for a variety of platforms is hard work. One might try to reuse a retargetable code generator, but code generators are complex and difficult to use, and they limit one's choice of implementation language. One might try to use C as a portable assembly language, but C limits the compiler writer's flexibility and the performance of the resulting code. The wide use of C, despite these drawbacks, argues for a portable assembly language. C-- is a new language designed expressly for this purpose. The use of a portable assembly language introduces new problems in the support of such high-level run-time services as garbage collection, exception handling, concurrency, profiling, and debugging. We address these problems by combining the C- - language with a C-- run-time interface. The combination is designed to allow the compiler writer a choice of source language semantics and implementation techniques, while still providing good performance.

Download PostScript (104K) or PDF (105K).



Contact: C-- Webmaster. URL: http://www.cminusminus.org/. Last edited: Mon 05 Feb 2007 14:02 EST.