More efficient calling conventions have been a frequently requested
improvement for the z80 port. However, changing the calling convention
breaks compability with exisiting asm libraries, so it should not be
done often. And finding the best calling convention will take a bit of
work. However, for now, I implemented support for the calling
conventions that are already in use by z88dk for the z80, z180, r2k,
r3ka and tlcs90 ports:

__z88dk_fastcall and __z88dk_callee

The first one can be used on functions that have exactly one argument of
at most 32 bits. This argument will be passed in the lower bytes of
dehl. It is now fully supported in sdcc.

The second one omits the stack cleanup for stack parameters in the
caller. It is currently only supported on the caller side (and thus only
useful for calling hand-written asm functions).

Please use sdcc 3.4.3 #9218 or later if you want to try these calling
conventions.

Philipp

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to