MCPcopy Create free account
hub / github.com/ZDoom/Raze / FullGC

Function FullGC

source/common/objects/dobjgc.cpp:563–593  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

561//==========================================================================
562
563void FullGC()
564{
565 bool ContinueCheck = true;
566 while (ContinueCheck)
567 {
568 ContinueCheck = false;
569 if (State <= GCS_Propagate)
570 {
571 // Reset sweep mark to sweep all elements (returning them to white)
572 SweepPos = &Root;
573 // Reset other collector lists
574 Gray = nullptr;
575 State = GCS_Sweep;
576 }
577 // Finish any pending GC stages
578 while (State != GCS_Pause)
579 {
580 SingleStep();
581 }
582 // Loop until everything that can be destroyed and freed is
583 do
584 {
585 MarkRoot();
586 while (State != GCS_Pause)
587 {
588 SingleStep();
589 }
590 ContinueCheck |= HadToDestroy;
591 } while (HadToDestroy);
592 }
593}
594
595//==========================================================================
596//

Callers 3

FreeLevelDataMethod · 0.85
CCMDFunction · 0.85
StaticShutdownMethod · 0.85

Calls 2

SingleStepFunction · 0.85
MarkRootFunction · 0.85

Tested by

no test coverage detected