X-Git-Url: https://git.lukelau.me/?a=blobdiff_plain;f=abi.md;h=0185ec03acc4803a0bcc45f710d19d2ab23e77e1;hb=d486b87b4fb6311cd627887fe3da67a8f8d4cbb4;hp=5f09227ae56f2b21e31e7eca856a2e9917f60eec;hpb=91145e54f41ee88f1e279a80430b3f5ed4e7a8c6;p=scheme.git diff --git a/abi.md b/abi.md index 5f09227..0185ec0 100644 --- a/abi.md +++ b/abi.md @@ -4,6 +4,13 @@ a heap is allocated at the start, and the address to the next free space on it is stored in `heap_start`. it needs to be updated/decremented whenever you put anything on the heap +## todo +- how should allocation be managed? +make free blocks a doubly linked list. (how big is a block?) +when allocating, use first free block, move up free pointer +when freeing, do ??? + + # closures * lambda: actual function containing the code