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.
.
-o-O-0-O-o-
Logs:
1. First article
2. First code
3. First archive
4. Use-after-free
5. anti-break do()
.
.
.
.
.
Something else to ponder
https://gustedt.wordpress.com/2025/01/06/simple-defer-ready-to-use/
and
https://omeranson.github.io/blog/2022/06/12/cleanup-attribute-in-C