A new calling convention for z80¹ has been implemented in the
breaktheworld branch:
https://sourceforge.net/p/sdcc/code/HEAD/tree/branches/breaktheworld/

Anyone wanting to test it or experiment with it is welcome to use the
branch. C code should continue to just work without any changes
(most regression tests pass, but there are some remaining failures due
to a few not-yet-ported library functions, mostly of the __itoa family).
Though typically, it should be a bit faster and smaller (after all that
is the goal of switching the calling convention).

Assembler code will have to be adapted to the new convention (which is
documented in the manual in the branch). Alternatively, using the
keyword __sdccoldcall in function declarations, individual functions can
be marked as using the old convention.

If no major regressions are found, this new calling convention could
become the default for a future SDCC release.

Philipp

¹ Not yet really usable for z80-related ports other than z80 itself, as
asm-implemented library functions have not yet been ported for those.


_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to