Lines Matching refs:part
80 TracePart* part = nullptr; in TracePartAlloc() local
87 part = ctx->trace_part_recycle.PopFront(); in TracePartAlloc()
88 DPrintf("#%d: TracePartAlloc: part=%p\n", thr->tid, part); in TracePartAlloc()
89 if (part && part->trace) { in TracePartAlloc()
90 Trace* trace1 = part->trace; in TracePartAlloc()
92 part->trace = nullptr; in TracePartAlloc()
94 CHECK_EQ(part, part1); in TracePartAlloc()
107 if (!part) in TracePartAlloc()
112 if (!part) in TracePartAlloc()
113 part = new (MmapOrDie(sizeof(*part), "TracePart")) TracePart(); in TracePartAlloc()
114 return part; in TracePartAlloc()
117 static void TracePartFree(TracePart* part) SANITIZER_REQUIRES(ctx->slot_mtx) { in TracePartFree() argument
118 DCHECK(part->trace); in TracePartFree()
119 part->trace = nullptr; in TracePartFree()
120 ctx->trace_part_recycle.PushFront(part); in TracePartFree()
125 while (auto* part = ctx->trace_part_recycle.PopFront()) { in TraceResetForTesting() local
126 if (auto trace = part->trace) in TraceResetForTesting()
127 CHECK_EQ(trace->parts.PopFront(), part); in TraceResetForTesting()
128 UnmapOrDie(part, sizeof(*part)); in TraceResetForTesting()
155 auto part = parts->Front(); in DoResetImpl() local
156 local = local || part == trace->local_head; in DoResetImpl()
158 CHECK(!ctx->trace_part_recycle.Queued(part)); in DoResetImpl()
160 ctx->trace_part_recycle.Remove(part); in DoResetImpl()
172 reinterpret_cast<uptr>(&part->events[TracePart::kSize])); in DoResetImpl()
175 parts->Remove(part); in DoResetImpl()
176 TracePartFree(part); in DoResetImpl()
322 TracePart* part = nullptr; in SlotDetachImpl() local
331 part = parts->PopFront(); in SlotDetachImpl()
336 if (part) { in SlotDetachImpl()
338 TracePartFree(part); in SlotDetachImpl()
910 auto *part = trace->parts.Back(); in TraceSkipGap() local
912 trace, trace->parts.Front(), part, pos); in TraceSkipGap()
913 if (!part) in TraceSkipGap()
919 Event* end = &part->events[TracePart::kSize]; in TraceSkipGap()
920 DCHECK_GE(pos, &part->events[0]); in TraceSkipGap()
943 TracePart* part = thr->tctx->trace.parts.Back(); in TraceSwitchPart() local
944 if (part) { in TraceSwitchPart()
946 reinterpret_cast<uptr>(&part->events[0])); in TraceSwitchPart()
957 TracePart* part = TracePartAlloc(thr); in TraceSwitchPartImpl() local
958 part->trace = trace; in TraceSwitchPartImpl()
967 trace->local_head = part; in TraceSwitchPartImpl()
972 trace->parts.PushBack(part); in TraceSwitchPartImpl()
974 reinterpret_cast<uptr>(&part->events[0])); in TraceSwitchPartImpl()