2021-07-03 05:07:57 +01:00
<!DOCTYPE HTML>
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html;charset=US-ASCII" >
2021-12-11 11:10:58 +00:00
< meta name = "generator" content = "ZealOS V1.07" >
2021-07-03 05:07:57 +01:00
< style type = "text/css" >
2021-10-08 07:06:11 +01:00
body {background-color:#1f1f1f;}
.cF0{color:#e3e3e3;background-color:#1f1f1f;}
.cF1{color:#4f84a6;background-color:#1f1f1f;}
.cF2{color:#73a255;background-color:#1f1f1f;}
.cF3{color:#297582;background-color:#1f1f1f;}
.cF4{color:#b34f4b;background-color:#1f1f1f;}
.cF5{color:#8a52c3;background-color:#1f1f1f;}
.cF6{color:#b7822f;background-color:#1f1f1f;}
.cF7{color:#444444;background-color:#1f1f1f;}
.cF8{color:#6d6d6d;background-color:#1f1f1f;}
.cF9{color:#94bfde;background-color:#1f1f1f;}
.cFA{color:#a1ce97;background-color:#1f1f1f;}
.cFB{color:#6db4be;background-color:#1f1f1f;}
.cFC{color:#e88e88;background-color:#1f1f1f;}
.cFD{color:#ca94e8;background-color:#1f1f1f;}
.cFE{color:#d4b475;background-color:#1f1f1f;}
.cFF{color:#1f1f1f;background-color:#1f1f1f;}
2021-07-03 05:07:57 +01:00
< / style >
< / head >
< body >
2021-07-05 01:12:38 +01:00
< pre style = "font-family:monospace;font-size:12pt" >
2021-07-03 05:07:57 +01:00
< a name = "l1" > < / a > < span class = cF9 > CHeapCtrl< / span > < span class = cF0 > *< / span > < span class = cF5 > HeapCtrlInit< / span > < span class = cF0 > (< / span > < span class = cF9 > CHeapCtrl< / span > < span class = cF0 > *hc=< / span > < span class = cF3 > NULL< / span > < span class = cF0 > , < / span > < span class = cF9 > CTask< / span > < span class = cF0 > *task=< / span > < span class = cF3 > NULL< / span > < span class = cF0 > , < / span > < span class = cF9 > CBlkPool< / span > < span class = cF0 > *bp)
2021-12-11 11:10:58 +00:00
< a name = "l2" > < / a > {< / span > < span class = cF2 > //See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/System/Utils/HeapLog.ZC.html#l83" > < span class = cF4 > HeapLog< / span > < / a > < span class = cF2 > () for an example.< / span > < span class = cF0 >
< a name = "l3" > < / a > < / span > < span class = cF2 > //Duplicated for < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Kernel/KStart64.ZC.html#l29" > < span class = cF4 > System Task< / span > < / a > < span class = cF2 > .< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l4" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!hc)
2021-07-06 21:15:26 +01:00
< a name = "l5" > < / a > hc = < / span > < span class = cF5 > SysCAlloc< / span > < span class = cF0 > (< / span > < span class = cF1 > sizeof< / span > < span class = cF7 > (< / span > < span class = cF9 > CHeapCtrl< / span > < span class = cF7 > )< / span > < span class = cF0 > );
2021-07-04 23:11:34 +01:00
< a name = "l6" > < / a > hc-> hc_signature = < / span > < span class = cF3 > HEAP_CTRL_SIGNATURE_VAL< / span > < span class = cF0 > ;
< a name = "l7" > < / a > hc-> mem_task = task;
< a name = "l8" > < / a > hc-> bp = bp;
< a name = "l9" > < / a > < / span > < span class = cF5 > QueueInit< / span > < span class = cF0 > (& hc-> next_mem_blk);
< a name = "l10" > < / a > hc-> last_mergable = < / span > < span class = cF3 > NULL< / span > < span class = cF0 > ;
< a name = "l11" > < / a > hc-> next_um = hc-> last_um = (& hc-> next_um)(< / span > < span class = cF1 > U8< / span > < span class = cF0 > *) - < / span > < span class = cF1 > offset< / span > < span class = cF0 > (< / span > < span class = cF9 > CMemUsed< / span > < span class = cF0 > .next);
< a name = "l12" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > hc;
2021-07-03 05:07:57 +01:00
< a name = "l13" > < / a > }
< a name = "l14" > < / a >
< a name = "l15" > < / a > < / span > < span class = cF1 > U0< / span > < span class = cF0 > < / span > < span class = cF5 > HeapCtrlDel< / span > < span class = cF0 > (< / span > < span class = cF9 > CHeapCtrl< / span > < span class = cF0 > *hc)
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
< a name = "l16" > < / a > {< / span > < span class = cF2 > //Free all blocks alloced to a HeapCtrl.< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l17" > < / a > < / span > < span class = cF9 > CMemBlk< / span > < span class = cF0 > *m, *m1;
2021-07-03 05:07:57 +01:00
< a name = "l18" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l19" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (hc)
< a name = "l20" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l21" > < / a > < / span > < span class = cF1 > PUSHFD< / span > < span class = cF0 >
< a name = "l22" > < / a > < / span > < span class = cF1 > CLI< / span > < span class = cF0 >
< a name = "l23" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (< / span > < span class = cF5 > LBts< / span > < span class = cF7 > (< / span > < span class = cF0 > & hc-> locked_flags, < / span > < span class = cF3 > HClf_LOCKED< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l24" > < / a > < / span > < span class = cF1 > PAUSE< / span > < span class = cF0 >
< a name = "l25" > < / a > m = hc-> next_mem_blk;
< a name = "l26" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (m != & hc-> next_mem_blk)
< a name = "l27" > < / a > {
< a name = "l28" > < / a > m1 = m-> next;
< a name = "l29" > < / a > < / span > < span class = cFD > MemPagTaskFree< / span > < span class = cF0 > (m, hc);
< a name = "l30" > < / a > m = m1;
< a name = "l31" > < / a > }
< a name = "l32" > < / a > < / span > < span class = cF5 > LBtr< / span > < span class = cF0 > (& hc-> locked_flags, < / span > < span class = cF3 > HClf_LOCKED< / span > < span class = cF0 > );
< a name = "l33" > < / a > < / span > < span class = cF1 > POPFD< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l34" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l35" > < / a > < / span > < span class = cF5 > Free< / span > < span class = cF0 > (hc);
< a name = "l36" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l37" > < / a > }
< / span > < / pre > < / body >
< / html >