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

Function Step

source/common/objects/dobjgc.cpp:513–553  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

511//==========================================================================
512
513void Step()
514{
515 GCTime.ResetAndClock();
516
517 auto enter_state = State;
518 StepStats.Count[enter_state]++;
519 StepStats.Clock[enter_state].Clock();
520
521 size_t did = 0;
522 size_t lim = CalcStepSize();
523
524 do
525 {
526 size_t done = SingleStep();
527 did += done;
528 if (done < lim)
529 {
530 lim -= done;
531 }
532 else
533 {
534 lim = 0;
535 }
536 if (State != enter_state)
537 {
538 // Finish stats on old state
539 StepStats.Clock[enter_state].Unclock();
540 StepStats.BytesCovered[enter_state] += did;
541
542 // Start stats on new state
543 did = 0;
544 enter_state = State;
545 StepStats.Clock[enter_state].Clock();
546 StepStats.Count[enter_state]++;
547 }
548 } while (lim && State != GCS_Pause);
549
550 StepStats.Clock[enter_state].Unclock();
551 StepStats.BytesCovered[enter_state] += did;
552 GCTime.Unclock();
553}
554
555//==========================================================================
556//

Callers 1

CheckGCFunction · 0.85

Calls 5

CalcStepSizeFunction · 0.85
SingleStepFunction · 0.85
ResetAndClockMethod · 0.80
ClockMethod · 0.45
UnclockMethod · 0.45

Tested by

no test coverage detected