Lines Matching defs:workloadSet
77 auto &workloadSet = evacuateWorkloadSet_;
79 heap_->GetEdenSpace()->EnumerateRegions([this, &workloadSet](Region *current) {
80 workloadSet.Add(std::make_unique<EvacuateWorkload>(this, current));
83 heap_->GetEdenSpace()->EnumerateRegions([this, &workloadSet](Region *current) {
84 workloadSet.Add(std::make_unique<EvacuateWorkload>(this, current));
86 heap_->GetFromSpaceDuringEvacuation()->EnumerateRegions([this, &workloadSet](Region *current) {
87 workloadSet.Add(std::make_unique<EvacuateWorkload>(this, current));
89 heap_->GetOldSpace()->EnumerateCollectRegionSet([this, &workloadSet](Region *current) {
90 workloadSet.Add(std::make_unique<EvacuateWorkload>(this, current));
93 workloadSet.PrepareWorkloads();
239 auto &workloadSet = updateWorkloadSet_;
242 workloadSet.Add(
248 workloadSet.Add(
253 workloadSet.Add(
259 heap_->EnumerateOldSpaceRegions([this, &oldRegionCount, &workloadSet](Region *current) {
263 workloadSet.Add(std::make_unique<UpdateRSetWorkload>(this, current, heap_->IsEdenMark()));
266 heap_->EnumerateSnapshotSpaceRegions([this, &workloadSet](Region *current) {
267 workloadSet.Add(std::make_unique<UpdateRSetWorkload>(this, current, heap_->IsEdenMark()));
269 workloadSet.PrepareWorkloads();
604 void ParallelEvacuator::DrainWorkloads(WorkloadSet &workloadSet, WorkloadCallback callback)
607 while (workloadSet.HasRemaningWorkload()) {
608 std::optional<size_t> index = workloadSet.GetNextIndex();
612 size_t count = workloadSet.GetWorkloadCount();
615 region = workloadSet.TryGetWorkload(i);
622 if (finishedCount && workloadSet.FetchSubAndCheckWorkloadCount(finishedCount)) {