Home | History | Annotate | Download | only in gc

Lines Matching full:collector

35 #include "gc/collector/mark_sweep-inl.h"
36 #include "gc/collector/partial_mark_sweep.h"
37 #include "gc/collector/sticky_mark_sweep.h"
89 last_gc_type_(collector::kGcTypeNone),
90 next_gc_type_(collector::kGcTypePartial),
235 mark_sweep_collectors_.push_back(new collector::MarkSweep(this, concurrent));
236 mark_sweep_collectors_.push_back(new collector::PartialMarkSweep(this, concurrent));
237 mark_sweep_collectors_.push_back(new collector::StickyMarkSweep(this, concurrent));
438 for (const auto& collector : mark_sweep_collectors_) {
439 CumulativeLogger& logger = collector->GetCumulativeTimings();
443 const uint64_t total_pause_ns = collector->GetTotalPausedTimeNs();
445 const uint64_t freed_bytes = collector->GetTotalFreedBytes();
446 const uint64_t freed_objects = collector->GetTotalFreedObjects();
447 os << collector->GetName() << " total time: " << PrettyDuration(total_ns) << "\n"
448 << collector->GetName() << " paused time: " << PrettyDuration(total_pause_ns) << "\n"
449 << collector->GetName() << " freed: " << freed_objects
451 << collector->GetName() << " throughput: " << freed_objects / seconds << "/s / "
793 CollectGarbageInternal(collector::kGcTypeSticky, kGcCauseForAlloc, false);
872 collector::GcType last_gc = WaitForConcurrentGcToComplete(self);
873 if (last_gc != collector::kGcTypeNone) {
883 i < static_cast<size_t>(collector::kGcTypeMax); ++i) {
885 collector::GcType gc_type = static_cast<collector::GcType>(i);
887 case collector::kGcTypeSticky: {
893 case collector::kGcTypePartial:
896 case collector::kGcTypeFull:
905 collector::GcType gc_type_ran = CollectGarbageInternal(gc_type, kGcCauseForAlloc, false);
933 CollectGarbageInternal(collector::kGcTypeFull, kGcCauseForAlloc, true);
1071 InstanceCollector collector(c, max_count, instances);
1073 GetLiveBitmap()->Visit(collector);
1088 collector::MarkSweep::VisitObjectReferences(o, *this);
1126 CollectGarbageInternal(collector::kGcTypeFull, kGcCauseExplicit, clear_soft_references);
1161 for (const auto& collector : mark_sweep_collectors_) {
1162 collector->ResetCumulativeStatistics();
1192 collector::GcType Heap::CollectGarbageInternal(collector::GcType gc_type, GcCause gc_cause,
1240 if (gc_type == collector::kGcTypeSticky &&
1242 gc_type = collector::kGcTypePartial;
1245 DCHECK_LT(gc_type, collector::kGcTypeMax);
1246 DCHECK_NE(gc_type, collector::kGcTypeNone);
1251 collector::MarkSweep* collector = NULL;
1254 collector = cur_collector;
1258 CHECK(collector != NULL)
1259 << "Could not find garbage collector with concurrent=" << concurrent_gc_
1262 collector->clear_soft_references_ = clear_soft_references;
1263 collector->Run();
1264 total_objects_freed_ever_ += collector->GetFreedObjects();
1265 collector->GetFreedBytes();
1267 const size_t duration = collector->GetDurationNs();
1268 std::vector<uint64_t> pauses = collector->GetPauseTimes();
1287 LOG(INFO) << gc_cause << " " << collector->GetName()
1288 << " GC freed " << collector->GetFreedObjects() << "("
1289 << PrettySize(collector->GetFreedBytes()) << ") AllocSpace objects, "
1290 << collector->GetFreedLargeObjects() << "("
1291 << PrettySize(collector->GetFreedLargeObjectBytes()) << ") LOS objects, "
1296 LOG(INFO) << Dumpable<base::TimingLogger>(collector->GetTimings());
1316 void Heap::UpdateAndMarkModUnion(collector::MarkSweep* mark_sweep, base::TimingLogger& timings,
1317 collector::GcType gc_type) {
1318 if (gc_type == collector::kGcTypeSticky) {
1326 if (gc_type == collector::kGcTypePartial) {
1484 collector::MarkSweep::VisitObjectReferences(obj, visitor);
1605 collector::MarkSweep::VisitObjectReferences(obj, visitor);
1659 void Heap::PreGcVerification(collector::GarbageCollector* gc) {
1700 void Heap::PreSweepingGcVerification(collector::GarbageCollector* gc) {
1718 void Heap::PostGcVerification(collector::GarbageCollector* gc) {
1722 collector::MarkSweep* mark_sweep = down_cast<collector::MarkSweep*>(gc);
1727 collector::GcType Heap::WaitForConcurrentGcToComplete(Thread* self) {
1728 collector::GcType last_gc_type = collector::kGcTypeNone;
1792 void Heap::GrowForUtilization(collector::GcType gc_type, uint64_t gc_duration) {
1800 if (gc_type != collector::kGcTypeSticky) {
1808 next_gc_type_ = collector::kGcTypeSticky;
1813 next_gc_type_ = collector::kGcTypeSticky;
1815 next_gc_type_ = collector::kGcTypePartial;
2014 if (WaitForConcurrentGcToComplete(self) == collector::kGcTypeNone) {
2093 if (WaitForConcurrentGcToComplete(self) != collector::kGcTypeNone) {
2102 CollectGarbageInternal(collector::kGcTypePartial, kGcCauseForAlloc, false);