Updated Memory Manager (markdown)

master
Garrett Berg 2015-03-11 14:17:44 -06:00
rodzic 7f2a467ea5
commit ad76fe540b
1 zmienionych plików z 13 dodań i 14 usunięć

@ -28,22 +28,21 @@ Memory is split up into 4 Allocation Tables. Every Allocation Table has a `ATB`
```
These are known as `ATB_0` through `ATB_3` and have several C methods (i.e. functions and macros) to access their attributes. These include:
BLOCKS_PER_ATB -- The number of ATB's that fit in an Allocation Table
ATB_MASK_N -- Get the relevant bytes for ATB table N
ATB_N_IS_FREE(a) -- Determine whether table N is currently free
- `BLOCKS_PER_ATB` -- The number of ATB's that fit in an Allocation Table
- `ATB_MASK_N` -- Get the relevant bytes for ATB table N
- `ATB_N_IS_FREE(a)` -- Determine whether table N is currently free
**What do these do? Why are they useful???**
- BLOCK_SHIFT(block)
- ATB_GET_KIND(block)
- ATB_ANY_TO_FREE(block)
- ATB_FREE_TO_HEAD(block)
- ATB_FREE_TO_TAIL(block)
- ATB_HEAD_TO_MARK(block)
- ATB_MARK_TO_HEAD(block)
- BLOCK_FROM_PTR(ptr)
- PTR_FROM_BLOCK(block)
- ATB_FROM_BLOCK(bl)
- `BLOCK_SHIFT(block)`
- `ATB_GET_KIND(block)`
- `ATB_ANY_TO_FREE(block)`
- `ATB_FREE_TO_HEAD(block)`
- `ATB_FREE_TO_TAIL(block)`
- `ATB_HEAD_TO_MARK(block)`
- `ATB_MARK_TO_HEAD(block)`
- `BLOCK_FROM_PTR(ptr)`
- `PTR_FROM_BLOCK(block)`
- `ATB_FROM_BLOCK(bl)`
## Questions
- Is there documentation for the above methods? I think that would help me understand what they do