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.

Stay tuned.