QEMU/CPC

Gabriel Kerneis, Charlie Shepherd, Stefan Hajnoczi · 2014

Coroutines and events are two common abstractions for writing concurrent programs. Because coroutines are often more convenient, but events more portable and efficient, it is natural to want to translate the former into the latter. CPC is such a source-to-source translator for C programs, based on a partial conversion into continuation-passing style (CPS conversion) of functions annotated as cooperative.

Read the paper · More papers on PaperTik