| 511 | } |
| 512 | |
| 513 | void NULLC::FinalizeMemory() |
| 514 | { |
| 515 | MarkMemory(0); |
| 516 | pool8.FreeMarked(); |
| 517 | pool16.FreeMarked(); |
| 518 | pool32.FreeMarked(); |
| 519 | pool64.FreeMarked(); |
| 520 | pool128.FreeMarked(); |
| 521 | pool256.FreeMarked(); |
| 522 | pool512.FreeMarked(); |
| 523 | for(unsigned int i = 0; i < globalObjects.size(); i++) |
| 524 | { |
| 525 | markerType &marker = *(markerType*)((char*)globalObjects[i] + 4); |
| 526 | if(!(marker & NULLC::OBJECT_VISIBLE) && (marker & NULLC::OBJECT_FINALIZABLE) && !(marker & NULLC::OBJECT_FINALIZED)) |
| 527 | NULLC::FinalizeObject(marker, (char*)globalObjects[i] + 4); |
| 528 | } |
| 529 | nullcRunFunction("__finalizeObjects"); |
| 530 | finalizeList.clear(); |
| 531 | } |
| 532 | |
| 533 | void NULLC::ClearMemory() |
| 534 | { |
nothing calls this directly
no test coverage detected