Module bf::rts [−][src]
Minimal run-time system, which does I/O.
In Bendersky's first JIT, the program uses Linux system calls, but that's
insufficiently portable. And maybe I could figure out Darwin system calls, but
I’d rather not write retry loops anyway. The technique here is from the dynlib-rs
tutorial. Instead, we store trait objects in a struct, pass a pointer
to that struct to the generated program, and then have the generated program pass the pointer
to that struct to the RTS’s read and write functions.
Structs
RtsState |
Minimal state for our minimal run-time system. |
Constants
OKAY |
The object code terminated successfully. |
OVERFLOW |
The pointer would have pointed above the allocated buffer had the program continued. |
UNDERFLOW |
The pointer would have pointed below the allocated buffer had the program continued. |