charter issue
utzoo!decvax!ittvax!sii!mem
utzoo!decvax!ittvax!sii!mem
Tue Nov 2 00:10:58 AEST 1982
c
So! This newsgroup was meant to contain discussions of extensions
to the C language? Great! I hadn't heard that. But is anyone
listening?
Here are a couple of items on my wishlist, then.
- Declaration of a routine as an interrupt service routine. Essentially,
minimum state save and the PROPER EXIT (RTE vs RTS). Alternatively,
the choice of exits, since RTE isn't universally desirable from
within an interrupt routine (often a semi- or full- state save
routine or a call to an event scheduler is made and the proper exit
is to jump off to a complementary routine or return from event
scheduling or what-have-you).
- More control over linkage. For instance:
o The above-mentioned interrupt-server linkage.
o Pass things in registers without having to thread them through the
stack along the way.
o Bypass the full entry-exit sequence for routines which are likely
to be called a lot. It would be nice to have a means by
which the compiler at the point of the call would know how
much would be lost in the call. Here is the call for a smart
linker.
- Better support of re-entrant code. This is the big thing that
C lacks by having no global automatic variable scoping. To have
usefully re-entrant code without assuming memory mapping hardware
you need to be able to reference outer level stack variables, or
have a pointer to the global data base.
- Be able to dedicate a register to a global location. Obviously
the compiler would have to trust the programmer, here, to make
this declaration in ALL modules. Or this could be a run-time
parameter and not a compilation parameter.
Ok! I'll stop now.
Mark Mallett
More information about the Comp.lang.c
mailing list