Lines Matching refs:Root

61 bool validate(const ContextRoot *Root) {  in validate()  argument
66 for (const auto *Mem = Root->FirstMemBlock; Mem; Mem = Mem->next()) { in validate()
79 for (const auto *Mem = Root->FirstMemBlock; Mem; Mem = Mem->next()) { in validate()
240 void setupContext(ContextRoot *Root, GUID Guid, uint32_t NrCounters, in setupContext() argument
245 if (Root->FirstMemBlock) in setupContext()
249 Root->FirstMemBlock = M; in setupContext()
250 Root->CurrentMem = M; in setupContext()
251 Root->FirstNode = allocContextNode(M->tryBumpAllocate(Needed), Guid, in setupContext()
253 AllContextRoots.PushBack(Root); in setupContext()
257 ContextRoot *Root, GUID Guid, uint32_t Counters, in __llvm_ctx_profile_start_context() argument
259 if (!Root->FirstMemBlock) { in __llvm_ctx_profile_start_context()
260 setupContext(Root, Guid, Counters, Callsites); in __llvm_ctx_profile_start_context()
262 if (Root->Taken.TryLock()) { in __llvm_ctx_profile_start_context()
263 __llvm_ctx_profile_current_context_root = Root; in __llvm_ctx_profile_start_context()
264 onContextEnter(*Root->FirstNode); in __llvm_ctx_profile_start_context()
265 return Root->FirstNode; in __llvm_ctx_profile_start_context()
272 void __llvm_ctx_profile_release_context(ContextRoot *Root) in __llvm_ctx_profile_release_context() argument
276 Root->Taken.Unlock(); in __llvm_ctx_profile_release_context()
285 auto *Root = AllContextRoots[I]; in __llvm_ctx_profile_start_collection() local
287 &Root->Taken); in __llvm_ctx_profile_start_collection()
288 for (auto *Mem = Root->FirstMemBlock; Mem; Mem = Mem->next()) in __llvm_ctx_profile_start_collection()
291 resetContextNode(*Root->FirstNode); in __llvm_ctx_profile_start_collection()
303 auto *Root = AllContextRoots[I]; in __llvm_ctx_profile_fetch() local
305 &Root->Taken); in __llvm_ctx_profile_fetch()
306 if (!validate(Root)) { in __llvm_ctx_profile_fetch()
310 if (!Writer(Data, *Root->FirstNode)) in __llvm_ctx_profile_fetch()