Close
0%
0%

A stack.

It started as a software data stack. Because I need it. It has become a hardware control stack.

Similar projects worth following
C's standard ABI is ridiculous.

Work in progress.

This project describes a part of an ABI that looks like old-school Pascal, except that a hardware stack (or something emulating it) is much safer and faster. It does not need to change most high-level source code but compilers, libraries, linkers, processors etc. must account for:

  • a software-defined data stack (to store the function's frame containing local variables)
  • a hardware control-only stack (for call/return, looping or try/throw/catch for example).

The software data stack is a very old trick so nothing to say about it. The hardware stack however pulls a few tricks from its sleeves.

.

Implementations considered for #YGREC32 and #F-CPU.

Stay tuned.

  • First article

    Yann Guidon / YGDES05/08/2024 at 00:52 0 comments

    A first article is now available in the French new stands in May-June 2024:

    It's only the first part of a trilogy that explains many of the practical shortcomings of the C-style ABI that makes our lives so miserable. Beware of the C hacks...

View project log

Enjoy this project?

Share

Discussions

Yann Guidon / YGDES wrote 7 hours ago point

So it was all Edsgar Dijkstra's fault !
https://www.youtube.com/watch?v=2vBVvQTTdXg

https://ics.uci.edu/~jajones/INF102-S18/readings/07_dijkstra.pdf
Dijkstra, E.W. (1960) Recursive Programming. Num. Mathematik, 2, 312-. 318.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates