From ad76fe540bdedf56510c18f08bd30abb78633b80 Mon Sep 17 00:00:00 2001 From: Garrett Berg Date: Wed, 11 Mar 2015 14:17:44 -0600 Subject: [PATCH] Updated Memory Manager (markdown) --- Memory-Manager.md | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/Memory-Manager.md b/Memory-Manager.md index 6df521c..3769459 100644 --- a/Memory-Manager.md +++ b/Memory-Manager.md @@ -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