MCPcopy Create free account
hub / github.com/WheretIB/nullc / FreeMarked

Method FreeMarked

NULLC/StdLib.cpp:187–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

185 }
186 }
187 unsigned int FreeMarked()
188 {
189 unsigned int freed = 0;
190 MyLargeBlock *curr = activePages;
191 while(curr)
192 {
193 for(unsigned int i = 0; i < (curr == activePages ? lastNum : countInBlock); i++)
194 {
195 if(!(curr->page[i].marker & (NULLC::OBJECT_VISIBLE | NULLC::OBJECT_FREED)))
196 {
197 if((curr->page[i].marker & NULLC::OBJECT_FINALIZABLE) && !(curr->page[i].marker & NULLC::OBJECT_FINALIZED))
198 {
199 NULLC::FinalizeObject(curr->page[i].marker, curr->page[i].data);
200 }else{
201 Free(&curr->page[i]);
202 freed++;
203 }
204 }
205 }
206 curr = curr->next;
207 }
208 return freed;
209 }
210
211 MySmallBlock lastBlock;
212

Callers 2

CollectMemoryMethod · 0.45
FinalizeMemoryMethod · 0.45

Calls 1

FinalizeObjectFunction · 0.85

Tested by

no test coverage detected