|Optimizing in assembly language email@example.com (Randall Hyde) (2001-03-01)|
|Re: Optimizing in assembly language firstname.lastname@example.org (Shankar Unni) (2001-03-04)|
|Re: Optimizing in assembly language email@example.com (Shankar Unni) (2001-03-26)|
|C as assembly language firstname.lastname@example.org (Joachim Durchholz) (2001-04-04)|
|Re: C as assembly language email@example.com (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org (2001-04-10)|
|Re: C as assembly language email@example.com (Morrisett) (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org (jacob navia) (2001-04-10)|
|Re: C as assembly language email@example.com (felix) (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org.OZ.AU (2001-04-10)|
|[13 later articles]|
|From:||"Joachim Durchholz" <email@example.com>|
|Date:||4 Apr 2001 00:26:00 -0400|
|References:||01-03-006 01-03-046 01-03-130|
|Posted-Date:||04 Apr 2001 00:25:59 EDT|
Shankar Unni <firstname.lastname@example.org> wrote:
> The only place where it makes sense to do this is if you have to
> write snippets of code that either does not fit into a standard C
> model (usually interleaving assembly inside regular C code), or
> touches registers or other resources that fall outside the usual
> "registers and memory" model, *AND* and you want to be able to do
> at least some instruction rearranging around or even through the
> assembly code.
Hmm... there are a few additional cases where C is simply inappropriate:
1) You want to check for integer overflow.
2) You need exceptions.
Oh, and slightly off-topic, there are a few other things that annoy
those who want to use C as a backend for their compiler:
3) It has no support for tail call recursion.
4) It has no support for automatic garbage collection.
(The following are from http://www.cminusminus.org/faq.html:)
5) It cannot return multiple values in registers
6) It cannot bind global variables to registers
7) It has no support for lightweight concurrency
Not all of these features are required for each language, but many
(most?) languages need at least one of them.
Return to the
Search the comp.compilers archives again.