Re: [cc65] __fastcall__

From: Alan Cox <etchedpixels1gmail.com>
Date: 2015-01-12 21:49:44
It saves me about 500 bytes on 37K of code - nice to have.

However it was far too painful to go and add __fastcall__ to
everything in the tree, especially as it has to build on Z80, 6809 and
6502 already with more to follow.

Instead I added --all-fastcall to the compiler (patch attached).

When this is set all functions except varadic ones become __fastcall
and all function pointers are implicitly forced to __fastcall. Your
runtime needs to expect main() to be a fastcall and to be compiled
__fastcall (or all __fastcall anyway). The other restriction is the
same one you get with __fastcall functions and pointers, the pointer
type must match. That effectively means you can't use --all-fastcall
if you have pointers to varadic functions. Hopefully very few people
do that.

Alan

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon Jan 12 21:49:54 2015

This archive was generated by hypermail 2.1.8 : 2015-01-12 21:49:56 CET